Я слышал, что когда к одному сертификату SAN (альтернативное имя субъекта) добавляется множество имен, производительность начинает ухудшаться.
Может ли кто-нибудь объяснить, как обрабатываются сертификаты SAN, чтобы я понял, что вызывает снижение производительности при увеличении имен в SAN?
Некоторые поверхностные тесты, кажется, действительно предполагают, что меня накормили кучей чуши.
Я сгенерировал сертификат так:
openssl genrsa -out www.domain.tld.key 2048
[kbrandt@alpine: ~/sancrt] openssl req -new -key www.domain.tld.key -out www.domain.tld.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:NY
Locality Name (eg, city) []:New York
Organization Name (eg, company) [Internet Widgits Pty Ltd]:LOTA-SAN
Organizational Unit Name (eg, section) []:SANSRUS
Common Name (e.g. server FQDN or YOUR name) []:www.domain.tld
Email Address []:kyle@SANRUS.com
....
echo -n "subjectAltName=DNS:www.domain.tld," > www.domain.tld.cnf;for i in {1..2500}; do echo -n "DNS:www$i.domain.tld,"; done >> www.domain.tld.cnf
#manually delete comma at the end of the .cnf
openssl x509 -req -days 365 \
> -in www.domain.tld.csr \
> -signkey www.domain.tld.key \
> -text \
> -extfile www.domain.tld.cnf \
> -out www.domain.tld.crt
Signature ok
subject=/C=US/ST=NY/L=New York/O=LOTA-SAN/OU=SANSRUS/CN=www.domain.tld/emailAddress=kyle@SANRUS.com
Getting Private key
cat *.key *.crt > sillysan.pem
Когда я пробую curl и wget, я не вижу заметных различий:
time curl -ssl3 --noproxy \* -D - --insecure http://www2500.domain.tld
curl -ssl3 --noproxy \* -D - --insecure http://www2500.domain.tld 0.01s user 0.00s system 69% cpu 0.012 total
Результаты такие же с www и www2500. Я предполагаю, что возможно, что --insecure полностью обходит проверку, но пока я собираюсь дать стандартный штамп очень ненаучного теста: