2017-05-04 12 views
-1

CentOS6/Apacheに新しいSSL証明書をインストールしていて、Webブラウザが古い証明書を引き続き取得しています。セットアップをテストするには、 "openssl s_client"を使用していますが、 "-servername"パラメータに基づいて異なる結果が表示されています。誰も私たちにこのパラメータを見せてくれる人はいません。マニュアルページには表示されませんが、ここで言及したように見えます。OpenSSL: Check SSL Certificate Expiration Date and Moreopenssl s_clientで '-servername'パラメータを使用する

私は、このコマンドを実行する場合:

echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -issuer -subject -dates

を私が証明書の正しい日付を取得します。

(notBeforeの= 4月20日午後十二時00分00秒2017 GMT notAfterの= 4月20日午後11時59分59秒2018 GMT)

しかし、私はcommmandに-servernameパラメータをintruduce場合

echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -issuer -subject -dates

Iその後、私のブラウザが表示されている期限切れの日付を取得 -

(notBeforeの= 4月20日〇時00分00秒2016 GMT notAfterの= 4月20日午後11時59分59秒2017 GMT)

私のSSL証明書がブラウザで期限切れと表示される理由と関連している必要があるため、誰にもこれが起こっている理由を説明できますか。

おかげ O

+0

スタックオーバーフローは、プログラミングおよび開発の質問のサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[Super User](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。 [Dev Opsについての質問はどこに投稿しますか?](http://meta.stackexchange.com/q/134306) – jww

+0

通常、 '-servername'で' -tls'スイッチの1つを使う必要があります。 SNIはTLS 1.0以上の拡張です。 – jww

答えて

1

s_clientにサーバー名の引数は、このページに(簡単に)文書化されています

https://www.openssl.org/docs/man1.0.2/apps/s_client.html

基本的に、それはそれ、つまり、少しHTTPで「ホスト」ヘッダのように動作します要求されたドメイン名がSSL/TLSハンドシェイクの一部として渡されます(SNI - Server Name Indication拡張内)。サーバーは、1つのIPの背後に複数のドメインをホストできます。要求されたドメイン名に基づいて適切な証明書で応答します。

特定のドメイン名を要求しない場合、サーバーはどの証明書を使用するのかわからないため、デフォルトのものになります。あなたのケースでは、サーバがあなたのドメインに対して提供している証明書の1つが期限切れですが、デフォルトの証明書は失効していません。

ドメインの正しいVirtualHostエントリを更新していることを確認する必要があります。参照:

+0

マットありがとう - それは私が必要とした正確な答えでした。あなたが私に送ったマニュアルページのリンクを見て、あなたの説明がなければ、私はまだ頭を傷つけていたでしょう。再度、感謝します! – user1398017

+0

素晴らしい!あなたがそれを整理してうれしいです。私の答えに間違いはないと思いますか? –

関連する問題