ADCS certutil -csp -delkeyコマンドでエラー 「0x80090016 キー セットがありません。」

最近、証明機関を調べることが増えてきましたがこれもセキュリティが以前よりも重視されているということなんでしょうね。インフラエンジニアはセキュリティの知識もつけなければいけない時代になっています。

 

そして、今回はADCSで秘密キーをコマンドで削除しようとしていてエラーがでたので調べたいたら原因が判明しました。通常は発生しにくい作業かもしれませんが、


仮に、ADCSでcertutil -csp -delkeyコマンドを実行すると、以下のエラー 0x80090016 キー セットがありません。が表示されます。

PS C:\CA> certutil -csp "Microsoft Enhanced Cryptographic Provider v1.0" -delkey test-CA
CertUtil: -delkey コマンド エラーです: 0x80090016 (-2146893802 NTE_BAD_KEYSET)
CertUtil: キー セットがありません。

 

色々と調べていると秘密キーの紐づけ、秘密キー自体がおかしいのではとあったのですが、CAの証明書情報をチェックしても問題ない。

 


ということでMMCでエクスポートを使用としたら、なんと秘密キーのエクスポートがグレーアウトしてできない状態。事前にバックアップを取得していたCA証明書と秘密キーをリストがしなおして復旧後、エクスポートできることを確認して以下のコマンドを再実行。

PS C:\CA> certutil -csp "Microsoft Enhanced Cryptographic Provider v1.0" -delkey test-CA
test-ADCS-CA
CertUtil: -delkey コマンドは正常に完了しました。

 

今回勉強になったのが秘密キーがエクスポートできない状態になっていると上記のエラーがでるんですね。秘密キーがエクスポートできない状態かどうかは秘密キーをインポートする場合の設定だったり、証明機関で証明書を作成する場合の設定によりますので、注意が必要です。