web-dev-qa-db-ja.com

Windows10のChromeまたはIE)でクライアント証明書を使用できません

Nginxインストールと自己署名CAがあり、このCAによって署名されたクライアント証明書を使用してユーザーを認証する必要があります。

LinuxではFirefoxとChromeの両方で問題なく動作します。 Windows 10では、Firefoxは正常に動作します。したがって、サーバー、システムクロック、または証明書自体の構成ミスではないことがわかります。

Certmgr.mscを実行して証明書をインポートします。クライアント証明書を「個人」ストアに、CAの証明書を「信頼されたルート証明機関」に格納します。次に、chrome via chrome://restartそしてWindowsを再起動しても無駄になりました。

サーバー証明書の信頼性が検証されていないという(予期される)警告を受け取った後、LinuxおよびWindowsのFirefoxでは、「とにかく続行する」オプションが表示されます。 Windowsの場合ChromeおよびIEそのようなオプションはありません。Chromeは次の画面を表示します:

enter image description here

私はChrome v56(64ビット)を使用しています

私が気付いていないこの問題を回避する方法はありますか? ChromeがWindowsで続行するオプションを取り除いたのに、オプションが他のOSにまだ存在するのはなぜですか?

[〜#〜]編集[〜#〜]

MacOSでは、ChromeはLinuxと同じように動作します。ユーザーのキーチェーンに証明書をインポートした後、同じ警告と「とにかく続行する」オプションが表示されます。

これがChrome=の問題であるかどうか、またはWindowsが実施するセキュリティ制限であるかどうかはわかりませんが、非常に非現実的で迷惑です。

2
kliron

誰かが同じ問題を抱えている場合は、ここに解決策があり、Windows 7、8、および10で動作するはずです。

  1. Windows管理コンソールファイルを作成します。 Start -> Run -> mmc.exe

  2. コンソールウィンドウの場合:File -> Add/Remove Snap-in...

  3. Certificatesスナップインを選択し、次のウィンドウでMy user accountの証明書を管理することを選択します。

  4. Add or Remove Snap-insダイアログに戻り、グループポリシーオブジェクトエディターを選択して、コンソールルートに追加します。次のダイアログでGroup Policy ObjectLocalComputerに設定したままにして、[完了]をクリックします。

  5. [OK]をクリックして、[Add or Remove Snap-ins]ダイアログを終了します。

この時点で、次のようなコンソールウィンドウが表示されているはずです。

enter image description here

次に、証明書をインポートします。

  1. Certificatesスナップインを展開し、Personalをクリックします。次に、中央のペインを右クリックして、All Tasks -> Import...を選択します。証明書のインポートWizardが表示されます。デフォルト設定を変更せずに、ユーザーの証明書をインポートするだけです。

  2. Trusted Root Certification Authoritiesを展開し、Certificatesをクリックします。再び、中央のペインをクリックして、All Tasks -> Import...を選択します。デフォルト設定を変更せずにCAの証明書をインポートします。

さて、興味深い部分に...

Console Rootに戻り、Local Computer Policyスナップインの下でComputer Configuration-> Windows Settings-> Security Settings-> Public Key Policiesに移動します。次のようなウィンドウが表示されます。

enter image description here

Certificate Path Validation Settingsをダブルクリックします。 Define these policy settingsを確認し、下図のように設定を選択してください。

enter image description here

次に、Select Certificate Purposesをクリックして、意図した目的が含まれていることを確認します(クライアント認証とサーバー認証が必要でした)。 Applyをクリックして、コンソールウィンドウを閉じます。設定を保存するかどうかを尋ねられます。他の人が再利用できるように構成を保存したい場合は、そうすることを選択できます。

変更を有効にするには、必ずChromeまたはIEを再起動してください。

1
kliron