Назад | Перейти на главную страницу

SSL-сертификат самоподписанный вместо действительного

Я приобрел действующий сертификат:

Например, этот сайт подтверждает это: https://sslanalyzer.comodoca.com/?url=www.example.com

Но когда я тестирую это с помощью openSSL, вот так:

openssl s_client -showcerts -connect https://www.example.com:443

я получил

Проверить код возврата: 18 (самоподписанный сертификат)

SNI-Hole

Вы попали в Отверстие SNI.

SNI - это указание имени сервера. Это позволяет иметь несколько разных имен хостов, живущих на одном общем IP. И если вы на самом деле не укажете имя сервера для сервера с поддержкой SNI, вы получите сертификат по умолчанию. (Это часть "отверстия SNI".)

И OpenSSL не будет предоставлять имя сервера серверу TLS, если вы не сообщите об этом. Использовать -servername параметр для этого.

$ echo '' | openssl s_client -showcerts -connect www.unival-logistics.com:443  -servername www.unival-logistics.com 2>/dev/null | grep -Ei 'subject|issuer|return'
subject=/C=US/OU=Domain Control Validated/CN=www.unival-logistics.com
issuer=/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - SHA256 - G2
    Verify return code: 20 (unable to get local issuer certificate)

Если вы не укажете это, вы получите сертификат по умолчанию для этого хоста. А вот и самоподписанный сертификат. (И я не думаю, что он должен быть там. Нет смысла доставлять самоподписанный сертификат.)

 $ echo '' | openssl s_client -showcerts -connect www.unival-logistics.com:443  2>/dev/null | grep -Ei 'subject|issuer|return'
 subject=/O=americanfuturegate.com/CN=*.americanfuturegate.com/emailAddress=REDACTED1@example.com
 issuer=/O=americanfuturegate.com/CN=*.americanfuturegate.com/emailAddress=REDACTED1@example.com
     Verify return code: 18 (self signed certificate)

Проверьте эту установку

Боковое примечание: я призываю вас отключить SSL3. (Отчет SSL Labs Вот.)