[解決済み】自己署名付きlocalhost証明書をChromeが受け入れるようにする方法
2022-03-18 07:15:38
質問
ローカルホストのCNに自己署名のSSL証明書を作成しました。Firefoxはこの証明書について最初に文句を言った後、予想通りこの証明書を受け入れました。しかし、ChromeとIEは、Trusted Rootsの下でシステムの証明書ストアに証明書を追加した後でも、この証明書を受け入れようとしません。Chrome の HTTPS ポップアップで "View certificate information" をクリックすると、証明書が正しくインストールされたと表示されるにもかかわらず、証明書は信頼できないと主張されます。
どうすれば、Chromeが証明書を受け入れ、文句を言わなくなるのでしょうか?
解決方法は?
と
のみ
5
openssl
コマンド
を使えば、こんなことが実現できます。
( ブラウザのセキュリティ設定を変更しないでください。 )
以下のコードで、(1)自分のCAになり、(2)そしてCAとしてSSL証明書に署名することができます。(3) それから、CA証明書(SSL証明書ではなく、あなたのサーバーに入るもの)をChrome/Chromiumにインポートする。(そう、これはLinuxでも動作します)。
注:Windowsの場合、いくつかの報告によると
openssl
と一緒に実行する必要があります。
winpty
を使用すると、クラッシュを回避することができます。
######################
# Become a Certificate Authority
######################
# Generate private key
openssl genrsa -des3 -out myCA.key 2048
# Generate root certificate
openssl req -x509 -new -nodes -key myCA.key -sha256 -days 825 -out myCA.pem
######################
# Create CA-signed certs
######################
NAME=mydomain.com # Use your own domain name
# Generate a private key
openssl genrsa -out $NAME.key 2048
# Create a certificate-signing request
openssl req -new -key $NAME.key -out $NAME.csr
# Create a config file for the extensions
>$NAME.ext cat <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = $NAME # Be sure to include the domain name here because Common Name is not so commonly honoured by itself
DNS.2 = bar.$NAME # Optionally, add additional domains (I've added a subdomain here)
IP.1 = 192.168.0.13 # Optionally, add an IP address (if the connection which you have planned requires it)
EOF
# Create the signed certificate
openssl x509 -req -in $NAME.csr -CA myCA.pem -CAkey myCA.key -CAcreateserial \
-out $NAME.crt -days 825 -sha256 -extfile $NAME.ext
おさらいすると
- CAになる
- CAの証明書+鍵を使って証明書に署名する
-
インポート
myCA.pem
として、quot;Authority" ( ない を、Chromeの設定(設定 > 証明書の管理 > 認証局 > インポート)で、"Your Certificates"に入力します。) -
を使用します。
$NAME.crt
と$NAME.key
ファイルをサーバーに保存します。
余分な手順(少なくともMacの場合)。
- ファイル>インポートファイル"でCA証明書をインポートし、リスト内で右クリックして展開し、"信頼"を選択し、"常に"を選択してください。
-
追加
extendedKeyUsage=serverAuth,clientAuth
以下basicConstraints=CA:FALSE
と同じになるように設定してください。$NAME
セットアップを要求されたとき
作品を確認することができます を使用して、証明書が正しくビルドされたことを確認します。
openssl verify -CAfile myCA.pem -verify_hostname bar.mydomain.com mydomain.com.crt
関連
-
[解決済み] BraveブラウザにChromeのdev-toolsがあるのはなぜか?
-
[解決済み] クロームやクロミウムでHTTP/2を無効にする方法は?
-
[解決済み] JsPDF - トップフレームからデータURLへの移動ができない
-
[解決済み] Google ChromeブラウザでF5 refreshとShift+F5の違いは何ですか?
-
[解決済み] OpenSSLを使用して自己署名入りSSL証明書を生成する方法を教えてください。
-
[解決済み] 自己署名入りの証明書をgitに受け入れさせるにはどうしたらいいですか?
-
[解決済み】WebDriverException: 不明なエラーです。Chromeブラウザーを起動しようとすると、DevToolsActivePortファイルが存在しない。
-
[解決済み】Chrome DevTools Devicesに接続してもデバイスが検出されない。
-
[解決済み] クロームブラウザのロケールを変更する方法
-
[解決済み] Chromeブラウザのリロードオプションの新機能
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Chromeデベロッパーツールの==$0(ダブルイコール ドルゼロ)の意味とは?
-
[解決済み] BraveブラウザにChromeのdev-toolsがあるのはなぜか?
-
[解決済み] 自己署名入りSSL証明書が無効 - "サブジェクトの代替名がありません".
-
[解決済み] Google ChromeブラウザでF5 refreshとShift+F5の違いは何ですか?
-
[解決済み] 新しいChrome Profiles for separate google accounts機能を無効にして、単一のChromeインスタンスに戻すにはどうすればいいですか?
-
[解決済み] OpenSSLを使用して自己署名入りSSL証明書を生成する方法を教えてください。
-
[解決済み】Postman Chrome拡張機能で配列を送信することは可能ですか?
-
[解決済み】Chromeの「通常再読み込み」、「ハード再読み込み」、「キャッシュを空にしてハード再読み込み」の違いは?
-
[解決済み] ローカルホスト用の信頼できる自己署名入りSSL証明書を作成する(Express/Nodeで使用するため)
-
[解決済み] 紛失したIIS Express SSL証明書を復元するにはどうすればよいですか?