このメッセージ表示には、以下の二つのケースが考えられますが、どちらのケースも解決可能です。
どちらの場合も、新しいCSRを作るところから始めるのがおすすめです。
DigiCertでは、同一コモンネームの証明書再発行は無料です。新しいCSRをお送りいただけば、ただちに証明書を再発行できます。
上の事例のどちらにも該当しない場合は、以下のコマンドを実行してみてください。
プライベートキー(秘密鍵)がサーバー上にあり、破損している場合は、解決の糸口が得られるはずです。
certutil -repairstore my "YourSerialNumber"
Microsoftから提供されている情報も参照してください。
共通の原因を特定するのは困難ですが、以下のような理由が考えられます。
最初に疑うべきは、CSR作成にはExchangeコマンドラインやあるいはIISを使い、 .crt/.cer/.p7b 等のサーバ証明書のインストールにはMMCを使っているのではないかということです。
MMCを使ってサーバ証明書だけをインポートした場合、サーバ証明書とプライベートキー(秘密鍵)との合成は行われません。
MMCでサーバ証明書がインポートできるのは、正しくインストールされプライベートキー(秘密鍵)と合成された証明書をバックアップしてできた .pfxを使う場合だけです。
もうひとつ発生しがちなのは、正しくインストールされた証明書から作成された .pfxファイルをインポートしているケースです。
この場合、エクスポートの過程でプライベートキー(秘密鍵)のバックアップが正しく行われていないことが疑われます。
最初のサーバー証明書要求が行われたにもかかわらず、その証明書がインストールされずに、二つ目のサーバー証明書要求が行われると、最初のサーバー証明書要求に対応するプライベートキー(秘密鍵)は自動的に削除されます。
SSL/TLSサーバ証明書は、公開鍵とプライベートキー(秘密鍵)のセットで機能するしくみになっています。
これらのファイルは、Windowsサーバー上では通常 .p12、.pfx、keystore file 等のファイルにまとめられます。
サーバー証明書要求を行った場合、二つのファイルが作成されます。
ひとつはプライベートキー(秘密鍵)で、これは作成したサーバーで安全に保存されます。
もう一つがサーバー証明書要求(CSR)ファイルで、このファイルには、認証局(CA)がこのプライベートキー(秘密鍵)用の公開鍵を含んだサーバー証明書を作成するための情報が書き込まれています。
サーバ証明書が正しくインストールされると、その証明書用のCSRが作成されたプライベートキー(秘密鍵)と合成されます。
ほとんどのMicrosoftのインストールツールでは、プライベートキー(秘密鍵)と適合しないサーバ証明書はインストールできません。