そこで、社内WebアプリでSSLを有効にできるように、ドメインにエンタープライズCAを設定する方法を試しました。私のテストベースでは、WindowsでXAMPPと.local FQDNを使用しています。 CAにMicrosoft Active Directory証明書サービスを使用しています。
(多くの)試練と苦難の後、私はほとんど機能する例を手に入れました。したがって、WebアプリはIE、Edge、Chromeで動作しますが、Firefoxでは動作しません。
Firefoxエラーは次のとおりです。
警告:潜在的なセキュリティリスクアヘッドエラーコード:
SEC_ERROR_UNKNOWN_ISSUER
発行者が不明なため、この証明書を確認できませんでした
これを複数のワークステーションでテストしたところ、同じ結果が得られました。 Firefoxが最新バージョンです。
Opensslに証明書をロードしてもエラーは発生しません。
openssl x509 -in "C:\xampp\Apache\conf\ssl.crt\certname.crt"
実行すると、以下の2つのエラーが発生します。
openssl s_client -connect server.local:443
検証エラー:num = 20:ローカル発行者証明書を取得できません
検証エラー:num = 21:最初の証明書を検証できません
CAから「証明書チェーン」をダウンロードするオプションがありますが、これは.p7b形式で提供されます。この内容は単一の証明書です。
ファイルを.crtに変換したり、httpd-xampp.confで.p7bを使用したりしても、その後Apacheが起動しません。以下のエントリがなくても問題ありません。
SSLCertificateChainFile "conf/ssl.crt/chain-cert.crt"
何か案は?
Mozillaのドキュメントによると、FF64以降、証明書をインストールするための推奨される方法は、エンタープライズポリシーを使用することです。 (現在)開いているバグのため、ルートだけでなくすべての中間証明書を手動でインストールする必要があります。
Firefox GPOテンプレートはこちらからダウンロードできます: https://github.com/mozilla/policy-templates/tree/master/windows
About:configで「security.enterprise_roots.enabled」設定をtrueに設定することで、個別にテストできます。
より詳細な情報はここにあります: https://wiki.mozilla.org/CA/AddRootToFirefox