1549

localhost CN の自己署名 SSL 証明書を作成しました。Firefox は、予想どおり、最初に不平を言った後、この証明書を受け入れます。ただし、信頼されたルートの下のシステム証明書ストアに証明書を追加した後でも、Chrome と IE はそれを受け入れることを拒否します。Chrome の HTTPS ポップアップで [証明書情報の表示] をクリックすると、証明書が正しくインストールされていると表示されますが、それでも証明書は信頼できないと主張します。

Chrome に証明書を受け入れてもらい、それについて不平を言わないようにするにはどうすればよいですか?

4

48 に答える 48

1028

localhostのみ_

これをクロムに貼り付けるだけです:

chrome://flags/#allow-insecure-localhost

強調表示されたテキストが表示されるはずです: localhost からロードされたリソースに対して無効な証明書を許可する

をクリックしEnableます。

-また-

入力してみてください:これはウィンドウのどこでも 安全 ではなく、ブラウザはページにアクセスできるはずです。[リンク]

-また-

難解なコマンド、専門知識、および手動の手順を回避するローカルの自己署名証明書については、 mkcertを試してください。

于 2015-08-09T01:52:39.923 に答える
541

これは私のために働いた:

  1. Chrome を使用して、HTTPS 経由でサーバー上のページにアクセスし、赤い警告ページを通過して続行します (まだ行っていないと仮定します)。
  2. 開きますChrome Settings > Show advanced settings > HTTPS/SSL > Manage Certificates
  3. タブをクリックしてAuthorities下にスクロールし、証明書に付けた組織名の下にある証明書を見つけます。
  4. それを選択し、[編集] をクリックします (: Chrome の最近のバージョンでは、ボタンは [編集] ではなく [詳細設定] になっています)。すべてのボックスにチェックを入れて [OK] をクリックします。Chrome の再起動が必要になる場合があります。

これで、ページに素敵な緑色のロックが表示されるはずです。

編集:新しいマシンでこれを再試行しましたが、赤い信頼できない証明書ページから続行するだけで、証明書の管理ウィンドウに証明書が表示されませんでした。私は次のことをしなければなりませんでした:

  1. 信頼されていない証明書 (https://赤で取り消し線が引かれている) が表示されているページで、ロック > [証明書情報] をクリックします。注: Chrome の新しいバージョンでは、 を開いてDeveloper Tools > Securityを選択する必要がありますView certificate
  2. をクリックしDetails tab > Exportます。PKCS #7, single certificateファイル形式として選択します。
  3. 次に、元の指示に従って証明書の管理ページにアクセスします。をクリックしてAuthorities tab > Import、証明書をエクスポートしたファイルを選択 PKCS #7, single certificate し、ファイル タイプとしてを選択してください。
  4. 認証ストアを求められたら、信頼されたルート認証局を選択します
  5. すべてのチェックボックスをオンにして、[OK] をクリックします。Chrome を再起動します。
于 2013-02-25T21:14:06.620 に答える
151

Mac では、Keychain Access ユーティリティを使用して自己署名証明書をシステム キーチェーンに追加すると、Chrome がそれを受け入れます。ここでステップバイステップの手順を見つけました:

Google Chrome、Mac OS X、および自己署名 SSL 証明書

基本的:

  1. X が付いたロック アイコンをダブルクリックし、証明書アイコンをデスクトップにドラッグ アンド ドロップします。
  2. このファイルを開きます (.cer 拡張子で終わります)。これにより、証明書を承認できるキーチェーン アプリケーションが開きます。
于 2011-10-31T15:56:01.473 に答える
97

Linux

Linux を使用している場合は、次の公式 wiki ページをフォローすることもできます。

基本的:

  • X が付いた鍵のアイコンをクリックし、
  • 証明書情報を選択
  • 詳細タブに移動
  • [エクスポート...] をクリックします (ファイルとして保存)。

ここで、次のコマンドは証明書を追加します (YOUR_FILE はエクスポートされたファイルです)。

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

すべての証明書を一覧表示するには、次のコマンドを実行します。

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

それでも機能しない場合は、次のバグの影響を受ける可能性があります: 問題 55050: Ubuntu SSL エラー 8179

libnss3-toolsPS上記のコマンドを使用する前に、 があることも確認してください。

お持ちでない場合は、次の方法でインストールしてください。

sudo apt-get install libnss3-tools # on Ubuntu
sudo yum install nss-tools # on Fedora, Red Hat, etc.

おまけとして、次の便利なスクリプトを使用できます。

$ cat add_cert.sh
certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n $1 -i $1
$ cat list_cert.sh
certutil -d sql:$HOME/.pki/nssdb -L # add '-h all' to see all built-in certs
$ cat download_cert.sh
echo QUIT | openssl s_client -connect $1:443 | sed -ne '/BEGIN CERT/,/END CERT/p'

使用法:

add_cert.sh [FILE]
list_cert.sh
download_cert.sh [DOMAIN]

トラブルシューティング

  • --auto-ssl-client-authパラメータを指定して Chrome を実行する

    google-chrome --auto-ssl-client-auth

于 2012-09-18T14:11:51.010 に答える
35

テスト環境の場合

chrome を起動するときにコマンド ライン パラメーターとして使用できます--ignore-certificate-errors(Ubuntu のバージョン 28.0.1500.52 で作業中)。

これにより、エラーが無視され、警告なしで接続されます。既に Chrome のバージョンを実行している場合は、コマンド ラインから再起動する前にこれを閉じる必要があります。そうしないと、新しいウィンドウが開きますが、パラメーターは無視されます。

テストサーバーには有効な証明書がないため、デバッグを行うときにこの方法でクロムを起動するように Intellij を構成します。

ただし、証明書のチェックは重要なセキュリティ機能であるため、このような通常のブラウジングはお勧めしませんが、これが役立つ場合もあります。

于 2013-06-26T13:13:34.610 に答える
22

誰かが指摘したように、ブラウザ ウィンドウだけでなく、Chrome をすべて再起動する必要があります。これを行う最も簡単な方法は、タブを開いて...

chrome://restart

于 2016-04-12T20:30:54.693 に答える
18

Filippo Valsorda は、多くのトラスト ストアmkcertに対してこれを行うためのクロスプラットフォーム ツール を作成しました。この質問に対する答えが非常に多いのと同じ理由で、彼はそれを書いたと思います。信頼されたルート CA によって署名された証明書に対して「正しい」ことをするのは面倒です。SubjectAltName

mkcertWindows、macOS、およびいくつかの Linux フレーバーの主要なパッケージ管理システムに含まれています。これは、強力な機能のテストのステップ 4 の Chromium ドキュメントにも記載されています。

mkcert

mkcertは、ローカルで信頼できる開発証明書を作成するためのシンプルなツールです。構成は必要ありません。

$ mkcert -install
Created a new local CA at "/Users/filippo/Library/Application Support/mkcert" 
The local CA is now installed in the system trust store! ⚡️
The local CA is now installed in the Firefox trust store (requires browser restart)! 
$ mkcert example.com "*.example.com" example.test localhost 127.0.0.1 ::1
Using the local CA at "/Users/filippo/Library/Application Support/mkcert" ✨

Created a new certificate valid for the following names 
 - "example.com"
 - "*.example.com"
 - "example.test"
 - "localhost"
 - "127.0.0.1"
 - "::1"

The certificate is at "./example.com+5.pem" and the key at "./example.com+5-key.pem" ✅
于 2019-08-15T14:15:48.933 に答える
14

サイトが提供されているアドレスが証明書と同じであると確信していますか? Chrome と自己署名証明書で同じ問題が発生しましたが、最終的には、証明書のドメイン名の検証について非常にうるさいことがわかりました (そうあるべきです)。

Chrome には独自の証明書ストアがなく、Windows 独自のものを使用します。ただし、Chrome では証明書をストアにインポートする方法がないため、代わりに IE を使用して追加する必要があります。

Google Chrome への証明書のインストール

Internet Explorer への証明書のインストール

また、自己署名証明書を作成するためのいくつかの異なるアプローチについては、これを参照してください (言及していないので、IIS を使用していると想定しています)。

IIS 7 で自己署名証明書を作成する方法

于 2011-09-28T08:53:24.020 に答える
7

これは私にとってはうまくいきました。参照: http://www.robpeck.com/2010/10/google-chrome-mac-os-x-and-self-signed-ssl-certificates/#.Vcy8_ZNVhBc

アドレスバーで、X が付いた小さな錠前をクリックします。これにより、小さな情報画面が表示されます。「証明書情報」というボタンをクリックします。

画像をクリックしてデスクトップにドラッグします。小さな証明書のように見えます。

それをダブルクリックします。これにより、キーチェーン アクセス ユーティリティが表示されます。パスワードを入力してロックを解除します。

ログインキーチェーンではなく、システムキーチェーンに証明書を追加してください。これは何もしないように見えますが、[常に信頼する] をクリックします。

追加したら、ダブルクリックします。再度認証する必要がある場合があります。

[信頼] セクションを展開します。

「この証明書を使用する場合」を「常に信頼する」に設定

于 2015-08-13T16:05:05.190 に答える
6

Windows 上の Chrome の修正。

まず、証明書をエクスポートする必要があります。

  • ブラウザで URL を見つけます。URL の「https」部分は赤い線で消され、左側に鍵の記号が表示されます。
  • 取り消し線が引かれた「https」セグメントを右クリックします。
  • さまざまな情報を含む情報ウィンドウが表示されます
  • 「詳細」をクリックします。
  • 証明書をエクスポートし、指示に従ってデフォルト設定を受け入れます。

インポートするには

  • Chrome の設定に移動します
  • 「詳細設定」をクリック
  • HTTPS/SSL の下で、[証明書の管理] をクリックします。
  • 「信頼されたルート証明機関」に移動します
  • クリックして「インポート」
  • この証明書をインストールするかどうかを尋ねるポップアップ ウィンドウが表示されます。「はい」をクリックします。
于 2016-06-30T16:04:51.200 に答える
6

URL の横にある小さな取り消し線のロック アイコンをクリックすると、次のようなボックスが表示されます。

ここに画像の説明を入力

[証明書情報]リンクをクリックすると、次のダイアログが表示されます。

ここに画像の説明を入力

どの証明書ストアが正しいかを示します。信頼されたルート証明機関ストアです。

他の回答で概説されている方法のいずれかを使用して、証明書をそのストアに追加するか、次を使用できます。

certutil -addstore -user "ROOT" cert.pem
  • ROOT前述の証明書ストアの内部名です。
  • cert.pem自己署名証明書の名前です。
于 2013-09-26T15:15:35.160 に答える
6

MacOS 上の Chrome の場合、証明書を準備している場合:

  • Chrome を終了します ( cmd+ Q)。
  • Keychain Access アプリを起動し、「証明書」カテゴリを開きます。
  • 証明書ファイルを [キーチェーン アクセス] ウィンドウにドラッグし、証明書ファイルのパスワードを入力します。
  • 証明書をダブルクリックして、「信頼」リストを展開します。
    • [この証明書を使用する場合] の行で、[常に信頼する] を選択します。
    • これを閉じて、パスワードを入力してください。
  • Chrome を起動し、すべてのキャッシュをクリアします。
  • すべてが正常であることを確認してください。
于 2018-02-01T09:21:15.213 に答える
5

Mac / osx での SSL / HTTPS localhost の修正:

  1. https localhost 環境を開こうとしているときに、アドレス バーの十字の付いた赤いロックをクリックします。証明書に関する情報を含むウィンドウが開きます。

  2. 「詳細」 情報ウィンドウをクリックします

  3. Chrome 開発者ツールが [セキュリティ] タブで開きます。[証明書の表示]をクリックします。 証明書の画像
  4. 「システム」キーチェーンに追加します(デフォルトで選択されている「ログイン」キーチェーンではありません)。

  5. キーチェーンを (再度) 開き、証明書を見つけます。それをクリックして、すべて「信頼」していることを確認してください。

  6. クロムを再起動すると、動作するはずです。

于 2016-06-29T12:54:32.377 に答える
5

同じ問題が発生していました。証明書を Windows の信頼されたルート認証局ストアにインストールしましたが、Chrome は引き続き証明書を拒否し、エラーが発生しましERR_CERT_COMMON_NAME_INVALIDた。証明書がストアに正しくインストールされていない場合、エラーはERR_CERT_AUTHORITY_INVALID.

エラーの名前、このコメント、およびこの質問で示唆されているように、問題は証明書で宣言されたドメイン名にありました。証明書の生成中に「共通名」の入力を求められたとき、サイトへのアクセスに使用していたドメイン名を入力するlocalhost必要がありました (私の場合)。を使用してChromeを再起動しchrome://restartましたが、最終的にこの新しい証明書に満足しました。

于 2016-08-30T08:19:25.830 に答える
5

これは、特に Mac OS X Yosemite の Google Chrome で発生し続けている問題です。

ありがたいことに、開発チームの 1 人が今日このリンクを送ってくれました。この方法は確実に機能し、証明書を受け入れるサイトを制御することもできます。

https://www.reddit.com/r/sysadmin/comments/3ercx4/chrome_shortcut_past_the_your_connection_is_not/cthporl

jersully の投稿:

内部証明書に煩わされたくない場合...

  1. chrome://flags/アドレスバーに入力します。
  2. [決定を記憶する] までスクロールするか検索して、指定された期間、SSL エラーを処理します。
  3. [3 か月間記憶する] を選択します。
于 2015-08-07T13:50:58.470 に答える
1

Windows 10 でローカルでテストする場合、上記の回答はどれも役に立ちませんでした

https://localhost:<port>.

ただし、このページを見つけて、渡す別のフラグを示しています。

https://www.chromium.org/blink/serviceworker/service-worker-faq

自己署名証明書を使用してhttps://localhostでテストする場合は、次のようにします。

$ ./chrome --allow-insecure-localhost https://localhost

これで赤い警告が消えたわけではありませんが、Service Worker や Web プッシュ通知などの https 専用機能を使用できるようになりました。

于 2017-11-02T00:28:28.327 に答える
1

openssl の代わりに Java 8 keytool.exe のみを使用するソリューションを次に示します。

@echo off
set PWD=changeit
set DNSNAME=%COMPUTERNAME%

echo create ca key
keytool -genkeypair -alias ca -keystore test.jks -keyalg RSA -validity 3650 -ext bc:critical=ca:true -dname "CN=CA" -storepass:env PWD -keypass:env PWD
echo generate cert request for ca signing
keytool -certreq -keystore test.jks -storepass:env PWD -alias ca -file ca.csr -ext bc:critical=ca:true
echo generate signed cert
keytool -gencert -keystore test.jks -storepass:env PWD -alias ca -infile ca.csr -outfile ca.cer -validity 3650 -ext bc:critical=ca:true
echo CA created. Import ca.cer in windows and firefox' certificate store as "Trusted CA".
pause

echo create server cert key for %DNSNAME%
keytool -genkeypair -alias leaf -keystore test.jks -keyalg RSA -validity 3650 -ext bc=ca:false -ext san=dns:%DNSNAME%,dns:localhost,ip:127.0.0.1 -dname "CN=Leaf" -storepass:env PWD -keypass:env PWD
echo generate cert request
keytool -certreq -keystore test.jks -storepass:env PWD -alias leaf -file leaf.csr -ext bc=ca:false -ext san=dns:%DNSNAME%,dns:localhost,ip:127.0.0.1
echo generate signed cert
keytool -gencert -keystore test.jks -storepass:env PWD -alias ca -infile leaf.csr -outfile leaf.cer -validity 3650 -ext bc=ca:false -ext san=dns:%DNSNAME%,dns:localhost,ip:127.0.0.1

rem see content
rem keytool -printcert -file leaf.cer -storepass:env PWD 

echo install in orig keystore
keytool -importcert -keystore test.jks -storepass:env PWD -file leaf.cer -alias leaf

echo content of test.jks:
keytool -list -v -storepass:env PWD -keystore test.jks
pause

ファイルの代わりにパイプを使用することもできますが、ファイルを使用すると、問題が発生した場合に中間結果を確認できます。Windows では IE11、Edge、FF54、Chrome60、Android では Chrome60 で SSL テスト済み。

スクリプトを使用する前に、デフォルトのパスワードを変更してください。

于 2017-08-16T14:21:54.797 に答える