Firefox がエラー「SEC_ERROR_INADEQUATE_KEY_USAGE」で IIS Express 証明書を拒否する

Firefox がエラー「SEC_ERROR_INADEQUATE_KEY_USAGE」で IIS Express 証明書を拒否する

IIS Express で .Net Core Web アプリケーションを実行しています。

Chrome は HTTPS バージョンを問題なく閲覧できます。最近まで Firefox も同様でした。突然、次のエラーが表示されるようになりました。

安全な接続に失敗しました

localhost:44358 への接続中にエラーが発生しました。試行した操作には証明書キーの使用が不十分です。エラー コード: SEC_ERROR_INADEQUATE_KEY_USAGE

また、自己署名証明書のエラーとは異なり、証明書を受け入れたり、「とにかく続行」したりする方法はありません。

私が試してみました:

  • Firefox の証明書ストアの再生成 (cert9.db と cert8.db の削除)
  • IISExpress.exe の修復
  • IISExpress.exe のアンインストールと再インストール
  • Visual Studio の更新 (2019)

答え1

Visual Studioは独自のCAを生成し、Web開発用にWindows証明書ストアにインストールします。Firefoxを次のように構成できます。Windows 証明書ストアから CA をインポートするFirefox で security.enterprise_roots.enabled (旧 ImportEnterpriseRoots) 設定を有効にします。

Firefox で Windows 証明書ストアの使用を有効にするには、次の手順を実行します。

  1. Firefoxを開く
  2. 「about:config」に移動します
  3. 「ImportEnterpriseRoots」を検索
  4. 追加してtrueに設定する
  5. Firefoxを再起動します

答え2

ウェブサイトに、サーバーの証明書ストアに存在しない証明書を使用するように構成された HTTPS バインディングがある場合、このエラーが発生する可能性がありますSEC_ERROR_INADEQUATE_KEY_USAGE。接続を検査すると (ロック アイコンをクリックして)、証明書がないため、[証明書の表示] ボタンがないこともわかります。明らかに、これは Firefox で修正できるものではなく、サーバー側の問題です。

解決策としては、存在する有効な証明書を使用するようにバインディング (IIS または IIS Express 内) を変更します。

関連情報