証明書名「不一致」エラー

証明書名「不一致」エラー

証明書の「発行先:」という名前がアドレスバーのHTTPSアドレスと一致するように正しく構成しようとしているApache2サーバーに自己署名証明書があります。次のセキュリティエラーが発生します。

The certificate for this site does not contain a Subject Alternative Name 
extension containing a domain name or IP address

There are issues with the site's certificate chain 
(net::ERR_CERT_COMMON_NAME_INVALID)

下の画像をご覧ください。ここに画像の説明を入力してください。

答え1

多くの研究の最後の問題は、最近のChrome(58)とFirefox(48)の両方がSubjectAltNameフィールドに適用するホスト名を指定するために証明書が必要であることです。詳細については、ここをクリックしてください。 https://textslashplain.com/2017/03/10/chrome-deprecates-subject-cn-matching/。そして1:24:00頃に声の説明を聞きたいなら、Steve Gibsonはとてもよく説明します。 https://twit.tv/shows/security-now/episodes/610?autostart=false

ただし、自己署名証明書を生成する場合は、追加の手順を実行する必要があります。つまり、サブジェクト代替名(SANフィールド)を追加する必要があります。これにはすべての内容が含まれています。 https://stackoverflow.com/questions/10175812/how-to-create-a-self-signed-certificate-with-openssl/27931596#27931596;しかし、これは多くの答えが長いプロセスです。デフォルトでは、これらすべてはJWWによって提供された答えにまとめられています。 subjectAltNameフィールドを含む構成ファイルを作成したら、次のように渡す必要があります。

openssl req -config example-com.conf -new -x509 -sha256 -newkey rsa:2048 -nodes \
-keyout example-com.key.pem -days 365 -out example-com.cert.pem

JWWの答えには、ステップの構成ファイルの良い例があります。検索:「構成ファイル(-configオプションとして渡されます)」

今、あなたの証明書にはsubjectAltNameがあり、ChromeとFirefoxが満足するでしょう。

答え2

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -subj "/C=US/ST=Oregon/L=Portland/O=Company Name/OU=Org/CN=www.example.com"

「subj」を希望の名前に変更します。

答え3

これはあなたの正確な質問に対する正解ではないかもしれませんが、次の場合には自己署名証明書を使用する理由はありません。暗号化しよう存在する。これは完全無料の証明書サービスであり、あなたが受け取る証明書は他の場所(Comodoなど)から受け取る証明書とほぼ同じように機能します。また、Foxが述べたように、SSL / TLSを使用してサーバーに接続し、接続しようとしているアドレスを含まない証明書を使用している場合は、IP経由で接続しないでください。同じコンピュータですが、接続しようとしているコンピュータは証明書にありません。)ブラウザは接続が安全ではないと報告します。

関連情報