Я приобрел действующий сертификат:
Например, этот сайт подтверждает это: https://sslanalyzer.comodoca.com/?url=www.example.com
Но когда я тестирую это с помощью openSSL, вот так:
openssl s_client -showcerts -connect https://www.example.com:443
я получил
Проверить код возврата: 18 (самоподписанный сертификат)
Вы попали в Отверстие 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 Вот.)