追加したサーバー証明書が、IISで認識できない。追加した証明書が証明書一覧から消えてしまう。
証明書のプロパティダイアログで、「この証明書に対応する秘密キーを持っています。」の表示が出ない現象について紹介します。
現象の確認
IISのサーバー証明書の画面でサーバー証明書を追加します。
右側の[操作]エリアの[証明書の要求の完了]リンクをクリックします。下図の[証明書の要求を完了する]ダイアログが表示されます。
追加する証明書ファイルを選択し、フレンドリ名を入力します。入力ができたら[OK]ボタンをクリックします。
証明書が追加され、覧に表示されます。
しかし、画面を再表示すると、追加した証明書が一覧から無くなっています。
証明書の確認
IISのサーバー証明書の画面の一覧からは証明書が消えていますが、[コンピューター証明書の管理]では、証明書が追加されていることが確認できます。
[コンピューター証明書の管理]を開き、左側のツリービューで[Webホスティング]ノードの下の[証明書]ノードを確認します。先ほど追加した証明書が表示されています。
補足
[Webホスティング]ノードの下の[証明書]ノードに表示されない場合は[個人]ノードの下の[証明書]ノードに登録されている場合がありますので、こちらのノードを確認します。
これまで利用していたサーバー証明書には[有効期間]の下に「この証明書に対応する秘密キーを持っています。」の表示があります。
消えてしまったサーバー証明書には「この証明書に対応する秘密キーを持っています。」の表示がありません。
原因
詳細な原因は不明ですが、証明書の状態が通常と異なり、証明書の以下のメッセージの表示が無いことで、IISの一覧から非表示になってしまうと考えられます。
なお、英語版では以下のメッセージになります。
You have a private key that corresponds to this certificate
対処法
certutil コマンドで、-repairstore コマンドを実行して証明書を修復すると改善される場合があります。
コマンドプロンプトやPowerShellで次のコマンドを実行します。
certutil -repairstore (ストア名) (証明書のシリアル番号)
ストア名は[Webホスティング]の場合は
webhosting
[個人]の場合は
my
になります。
シリアル番号は証明書のプロパティダイアログの[詳細]タブで確認できる[シリアル番号]の値になります。
コマンド例
certutil -repairstore my 2637ab3e344e10ba4681e85cd06a5fe7
certutil -webhosting my 7169c98798b4558945235d34f33ad2c5
コマンドを実行すると、下図の表示が出力されます。正常に完了すると、正常に完了した旨のメッセージが表示されます。
コマンド実行後、IISのサーバー証明書の画面を開くと、リストに証明書が表示されるようになります。
証明書のプロパティダイアログを開き確認すると「この証明書に対応する秘密キーを持っています。」のメッセージも表示された状態になります。
このページのキーワード
- IIS 証明書 消える
- Windows Server IIS 証明書 消える
- 証明書が一覧から消える
- この証明書に対応する秘密キーを持っています。が表示されない
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2021-10-30
作成日: 2021-08-26