エラーメッセージ
SEC_ERROR_UNKNOWN_ISSUER
警告ページの「詳細へ進む...」の下に「エラーコード: SEC_ERROR_UNKNOWN_ISSUER」として表示されます。自動化ツールはコードだけを報告します。自己署名のサイト証明書には、警告ページで専用のコード(MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT)が表示されますが、ecdsa.com のテストでは、Playwright 版の Firefox はこれを SSL_ERROR_UNKNOWN としか報告しませんでした。
Firefox (NSS) — "Warning: Potential Security Risk Ahead", certificate issuer not trusted
このエラーの意味
Firefox は、サイトの証明書からトラストストア内のルートまでのチェーンを構築できなかったため、エラーコード SEC_ERROR_UNKNOWN_ISSUER とともに「警告: 潜在的なセキュリティリスクあり」を表示します。Firefox は、エンタープライズルートが有効になっていない限り、OS のものではなく独自の NSS ルートストア(Mozilla のリスト)を使います。よくある原因は、プライベート CA、通信を検査するプロキシ、中間証明書を送信しないサーバーです。
発生する理由
プライベート CA または TLS を検査するプロキシ
よくあるWindows や macOS にインストールした社内のルート証明書は、security.enterprise_roots.enabled(または ImportEnterpriseRoots ポリシー)が有効でない限り、Firefox では使われません。
サーバーが中間証明書を送信していない
よくあるFirefox はパブリック CA の中間証明書を事前に読み込んでいるため、こうした設定ミスの多くは表面化しません。プライベートな中間証明書や新しい中間証明書では、依然として失敗します。
ルートを OS にはインストールしたが、Firefox にはインストールしていない
ときどき特に Linux では、システムのバンドルにあるルート証明書は Firefox のストアに含まれません。
修正方法
- 1.
管理対象デバイス:ポリシーで社内のルート証明書を信頼させる
policies.json(または同等の GPO/MDM の設定)を使うと、OS のストアからルート証明書をインポートしたり(ImportEnterpriseRoots)、追加の CA ファイルをインストールしたりできます。
json { "policies": { "Certificates": { "ImportEnterpriseRoots": true, "Install": ["/etc/ssl/private-ca/corp-root-ca.pem"] } } } - 2.
サイト運営者:完全なチェーンを送信する
フルチェーンのファイルを設定し、openssl など、中間証明書をキャッシュしないクライアントでテストしてください。
bash # Site owners: Firefox also caches intermediates, so test with a fresh client openssl s_client -connect www.example.com:443 -servername www.example.com -showcerts </dev/null 2>/dev/null \ | grep -E '^ *[0-9]+ s:|^ *i:' - 3.
ユーザー:危険性を受け入れる前に発行者を確認する
「危険性を承知で続行」をクリックすると、その証明書に対する恒久的な例外が追加されます。自分が管理するネットワーク上の自分のデバイスでのみ行ってください。
text Click "Advanced" → "View Certificate" and read the issuer before deciding anything: company or security-vendor name → trust that root via policy or Settings → Certificates; unknown issuer on a public network → do not accept the risk.