web-dev-qa-db-ja.com

自己署名証明書のインポート中の「認証局ではありません」

ローカル開発用の自己署名SSL証明書を作成しました。ページにアクセスすると、NET::ERR_CERT_AUTHORITY_INVALIDエラーが発生します。しかし、Chrome( chrome:// settings/certificates )にインポートしようとすると失敗します。

ファイルには、インポートされなかった証明書が1つ含まれています。

  • mylocalwebapp.dev:証明機関ではありません

これは、証明書を作成するために実行したコマンドです。

openssl req -new -x509 -nodes \
 -extensions SAN \
 -reqexts SAN  \
 -days 365 \
 -newkey rsa:2048 \
 -keyout /etc/ssl/private/Apache-selfsigned.key \
 -out /etc/ssl/certs/Apache-selfsigned.crt \
 -config <(cat /etc/ssl/openssl.cnf <(printf '[SAN]\nsubjectAltName=DNS:mylocalwebapp.dev'))

バージョン58の時点で、Chromeはそれを受け付けないため、SANオプションを追加しました SANなし 。 Chrome 57で動作し、Firefoxでも動作します。

Ubuntu 17.04のChrome 58で自己署名証明書を機能させるにはどうすればよいですか?

7

私たちが拠点をカバーしていることを確認するために...ここで概説したプロセスを試しましたか? https://stackoverflow.com/questions/7580508/getting-chrome-to-accept-self-signed-localhost-certificate

以前は機能していましたが、今朝、Chrome 58.0.3029.81に更新した後、以前は機能していた自己署名証明書のコンソールに次のエラーが表示されますUbuntu 16.04:

Certificate Error
There are issues with the site's certificate chain (net::ERR_CERT_AUTHORITY_INVALID).

編集:

上で参照したリンクのメソッドの1つで成功しました。 Chrome Chromeで何かが変更されたようで、正しく機能しなくなったためです。

OpenSSLクライアントを使用して証明書をダンプするには(おそらく必要ではありませんが、徹底したい場合に備えて):

$ echo QUIT | openssl s_client -connect $DOMAIN_TO_FETCH_FROM:443 | sed -ne '/BEGIN CERT/,/END CERT/p' > my-cert

certutilを使用して、ダンプされた証明書をインストールするには。 opensslで証明書をダンプしなかった場合は、my-certを適切なファイル名に置き換えます。

$ certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n my-cert -i my-cert

certutilを使用して証明書のインストールを確認します(必要に応じて):

$ certutil -d sql:$HOME/.pki/nssdb -L

# Certificate Nickname                                         Trust Attributes
#                                                              SSL,S/MIME,JAR/XPI
#
# my-cert                                                      P,,  

Chromeを完全に閉じて再起動すると、おそらく成功するでしょう。 58ベータ版と59ベータ版の両方で私のために働きました。

8
tdg5