Chrome58の自己署名SSL証明書

Let's Encrypt以降、暗号化されたWebサイトが標準になりました。 ローカル開発でも、SSL証明書は不可欠になっています(たとえば、 navigator.geolocationではローカルでSSL暗号化が必要です)。 Chromeのバージョン58以降、CN(共通名)のサポートは廃止され、SAN(サブジェクト代替名)が必須になりました。 その結果、Chromeは突然、従来作成されていたすべてのSSL証明書を受け入れなくなりました。


Chrome58の自己署名SSL証明書

ZeroSSLなどのオンラインツールを使用し証明書を作成するか、-ignore-certificate-errorsやflagchromeなどの開始パラメータを使用できます。//flags/#allow-insecure-localhostを使用して、有効な証明書なしでChromeを動作させます。 ただし、OpenSSLを使用して、SANを含み、Chromeで完全に受け入れられるローカルの自己署名証明書を作成する必要があります。 このワンライナーが必要なすべてを処理します(www.tld.localのみを目的のドメインに交換する必要があります):

61b7be9883ad31712c52a59252a4c9c4

以来OpenSSLは、残念ながらSANを指定する直接の引数はありません、最初に作成された設定ファイルは、OpenSSLはそれと呼ばれ、ファイルが削除されます。 Windowsユーザーは、 Cygwin (およびbash -c "...")または新しいWSLを使用して、このコマンドを簡単に実行できます。 結果として得られる2つのファイルwww.tld.local.keyとwww.tld.local.certは、たとえばMAMPで選択できます。:

Chrome58の自己署名SSL証明書

次に、Windowsユーザーは、「信頼されたルート認証機関」の「ユーザー証明書の管理」(certmgr)の下にロードします。:

Chrome58の自己署名SSL証明書

最後に、Chromeを再起動し(chrome://再起動)、緑色のロックをお楽しみください:

Chrome58の自己署名SSL証明書

バック