ワイルドカードSSL証明書を証明書ストアにインストールした後、サイトバインドで使用するための証明書はIIS証明書リストに表示されません。
証明書は正しくインストールされましたが、明らかに証明書にキーが含まれていませんでした。
新しいリクエストを実行したり、キーについて誰かに連絡したりすることなく、この問題を修正するにはどうすればよいですか(たとえば、発売の前日である場合は;-))
今日、この問題に遭遇しました。期間とその他の問題のため、プロバイダーからキーを取得することはできませんでした。
私は次の解決策を見つけました here (pixelloaのコメントの下)とStack Overflowについても答えがあるといいと思いました。
証明書に秘密キーがない場合は、次を実行してこれを修正できます。
これを修正するには、MMCスナップインを使用して証明書をPERSONALにインポートし、クリックしてシリアル#行を取得します。 DOSに移動し、certutil -repairstore my "ここにシリアル番号を貼り付けてください"(引用符が必要です)を実行し、MMCを個人証明書で更新し、右クリック-エクスポート-プライベートキーの削除以外を選択して、ヒットOK。次に、終了要求の代わりにIISおよびIMPORT証明書に移動します。
価値のあることのために、私が実際にやらなければならなかったのは、certutil -repairstore
コマンドを実行するだけで、証明書は機能しました。エクスポートを実行し、エクスポート自体のパスワードを設定しましたが、証明書を再インポートする必要はありませんでした。証明書はIISの証明書リストに表示され、HTTPSバインディングに使用できます。
これが誰かの助けになることを願っています。
上記の回答からインスピレーションを得て、同じ問題を抱え、簡単な解決策を見つけました。以下に、ステップごとの簡単な要約を示します。
楽しんで!
認証局としてGodaddyを使用していて、この問題に直面している場合; 証明書のキーを再生成するだけです。上記のcertutil -repairstoreで「ここにシリアル番号を貼り付け」を試しましたが、システムは認証にスマートカードを使用することを望んでいました。 (サーバー2016および2012R2でIIS10を実行)
証明書要求を作成し、キー再生成のプロセスを経て、「証明書要求の完了」のプロセスを経ると、証明書が消えることなく「バインディング...」を正常に構成できました。
証明書が正常にインストールされたサーバーがある場合、別のサーバーのIISからpfxをエクスポートできます。
更新:
別のラウンドの証明書の更新(更新)に取り組んで、試したすべてのサーバーでこの問題に再び遭遇しました。 @Geirの答えはうまくいきませんでしたが、アイデアが得られました。証明書要求を生成したサーバーを特定し、そこに新しい証明書を正常にインストールしました。そのサーバーからpfxをエクスポートし、残りのサーバーにpfxバージョンをインポートすることができました。証明書リクエストをやり直す必要はありません。
同じ問題があった。
「CSR」ファイルを作成したサーバーと同じサーバーにインストールしていることを確認する必要があります。それ以外の場合、秘密鍵はありません。
証明書を取得した場合は、キーの再生成を要求するだけで、新しいCSRファイルを要求します。つまりGo Daddyを使用すると、キーを再生成し、証明書を見つけて「管理」を押すことができます。
私はこの点については専門家ではありませんが、これでうまくいきました。
解決するには、プライベート証明書(PFX)をインポートする必要があります。
PFXがない場合は、OpenSSLを使用して生成します。
コマンドラインを開いて実行します:
openssl pkcs12 -export -in public_certificate.cer -inkey server.key -out private_certificate.pfx
より、private_certificate.pfxをインストールします(右クリック-> Install Certificate)。
これで、証明書は消えなくなり、SSL経由でWebサイトをバインドできます。
これは、たとえば古い証明書要求を承認した後、新しい証明書要求を生成します。新しいリクエストにより、IISがfirst証明書リクエストに関連付けられた秘密鍵を削除するため、最初のリクエストに関連付けられた(現在署名済みの)証明書をインポートすると、秘密鍵が関連付けられていません。秘密キーがないため、SSLバインディングに使用できず、IISマネージャーには表示されません。
秘密鍵はコンピューターの複数の場所に保存されているため、復元できる場合があります。
Certutilコマンドが「-repairstoreコマンドが正常に完了しました」と返された場合、証明書の秘密キーが復元されている可能性があります。これを確認するには、MMC証明書リストに移動してF5を押します。成功すると、証明書のアイコンに小さなキーが表示されます。その後、IISから証明書を選択できます。
これが失敗した場合、秘密鍵は使用できなくなり、新しい証明書署名要求を署名機関に送信する必要があります。
私は同様の問題を抱えており、可能な組み合わせをすべて試してみました。最後に、数クリックで証明書をインストールするのに役立つDigiCert SSL Utility
を見つけました。 ここからダウンロードできます 。この回答が他の人の時間を節約することを願っています。
これは、インストールされた証明書に秘密鍵が含まれていない場合に発生します。
証明書に秘密キーが含まれているかどうか、およびその修復方法を確認するには、このNice Entrust提供のチュートリアル を使用します
IIS 10でも同じでした。
IISマネージャーを使用して.pfxファイルをインポートすることで修正しました。
サーバールート(sites-nodeの上)を選択し、右側のペインで[サーバー証明書]をクリックして、そこにpfxをインポートします。次に、サイトの下のWebサイトのSSLバインディングを作成するときにドロップダウンから選択できます
ここに1つの証明書と2つの異なるWebサーバーがある場合、私はそれをどのように修正しましたか:
問題は、証明書要求(CSR)がIISから生成されなかったことです。 OpenSSLなどの他のソースから生成した場合、問題が発生します。 IISから証明書要求(CSR)を生成する必要があります->証明書要求を作成し、すべての詳細を入力して、SSL証明書の再生成のためにベンダーに送信します。その後、鉱山は適切に機能しました。