有効な証明書を購入しました:
たとえば、このサイトではこれを検証しています: https://sslanalyzer.comodoca.com/?url=www.example.com
しかし、openSSL でテストすると次のようになります。
openssl s_client -showcerts -connect https://www.example.com:443
私は
戻りコードの確認: 18 (自己署名証明書)
答え1
SNIホール
あなたは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/[email protected]
issuer=/O=americanfuturegate.com/CN=*.americanfuturegate.com/[email protected]
Verify return code: 18 (self signed certificate)
インストールを確認する
補足:SSL3を無効にすることを強くお勧めします。(SSL Labsレポートここ。