web-dev-qa-db-ja.com

ローカルホストをテストするための自己署名証明書を作成し、ブラウザーに受け入れさせます

私はこの自己署名証明書をいくつかのブラウザー(Chrome、Firefox、Edge、IE)で機能させるために何週間も努力してきました。

証明書を作成してtrusted root certificateとしてインストールすることができましたが、すべてのブラウザーで、テスト環境(xamppを使用するWebサイト)を使用できるようにするためにセキュリティをバイパスする必要があります。

今日はEdgeとIE(成功せず))に焦点を当てましたが、chromeの手順が少し異なるため、=で機能するようにします。 chrome明日。

私は次のように、新しいものを作成することと、古い(動作している)ものを複製することの両方を試みました:

新しい証明書を作成するには、管理者としてPowerShellを開き、次のようにします。

New-SelfSignedCertificate -DnsName "127.0.0.1", "localhost" -CertStoreLocation "cert:\LocalMachine\My"

このようにエクスポートされます 説明

クローンを作成するために、この例を使用しました ドキュメント

次に、certlm.mscを使用して「信頼されたルート証明書」に証明書をインポートしました。

しかし、EdgeとIEでエラーコードDLG_FLAGS_INVALID_CADLG_FLAGS_SEC_CERT_CN_INVALIDを取得しました。

誰かがこれを機能させる手順を知っていますか?
ネットを探していましたが、見つかりませんでした。

8
user2992220

私は同様のことをしようとしていて、以下を機能させました:

New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname localhost -FriendlyName "Dev localhost" -NotAfter (Get-Date).AddMonths(240) -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1")

'NotAfter'パラメータは、証明書を20年に延長します。 「TextExtension」パラメータは、「サーバー認証」のみの証明書を構成します。これがないと、デフォルトでクライアント認証+サーバー認証になります。私は調査していませんが、クライアント認証が問題を引き起こしているようです(ほとんどのオンラインの例では言及されていないため、これは奇妙です。私は one でした)。

これにより、LocalComputer\PersonalとLocalComputer\Intermediate証明機関の両方に証明書が作成されます。また、IISで証明書を選択することもできます。

サイトを実際に実行するには、証明書が信頼されたルート証明機関に入る必要があります。これを行うには、証明書をエクスポート/インポートするか、IEのサイトにナビゲーションし、赤いセキュリティ領域をクリックして、画面を操作して証明書をインポートします。上記のリンクは、インポート/エクスポートのアプローチを示しています。

最後の注意:

  • IE証明書がインストールされていると通知されたにもかかわらず、セキュリティプロンプトを表示しないようにするには、IE(11.726.15063)を閉じる/再度開く必要がありました。
  • IEでセキュリティ警告がクリアされた後、私のサイトはchrome(62)で正常に機能していました。
  • DNS名ではなく、ローカルホストと非標準のポートをサイトに使用していました。すべてが順調に見えた。

HTH

6
Steve R.