Windowsでは、TLSサーバー証明書(証明書ストアに格納されます)には、CSPキーストアまたはCNGキーストアのいずれかにある秘密キー(PK)が付属しています。 PKが終わるところでは、-sp
(被験者のプロバイダ)パラメータをmakecert
にするなど、証明書をインポートするとき(つまり、最近のWindows版)を指定できます。.NET 4.6.2のWCFは、CNG KSPでPKを使用したサーバー証明書をサポートしていますか?
プロバイダが指定されていない場合、デフォルト値は使いやすいものではありません。 PKはCNG KSPで終わり、WCFでは使用できなくなります。彼らはCNG/KSP証明書を処理するために、レガシーのCryptoAPIを使用しているための.NET Framework 4.6.1およびそれ以前のバージョンは、これらの証明書をサポートしていない」という
マイクロソフトsays。.NET Frameworkの4.6.1およびそれ以前とこれらの証明書の使用 "
ただし、.NET Framework 4.6.1と.NET Framework 4.6.2の間で、接続のサーバー側にインストールされているのと全く同じ動作が確認されています。何が起こるかは、サーバーが(自分のログごとに)表示され、喜んで指定されたポートでリッスンするが、ポートが開いていない(netstat -a
)ということです。サーバーがポートを開こうとしている間、WindowsイベントログにはInvalid provider type specified
が記載されています。
サーバと実際のポートとの間にnet.tcpポート共有があります。
CNG KSPのサーバー証明書で.NET(WCFを使用)を実行している人はいますか?上記のMicrosoftの文書は単に間違っていますか?
はい、これまではCNGからCryptoAPIへの移行が唯一の選択肢のようです。 –
これはまた助けるかもしれないhttps://docs.microsoft.com/en-us/dotnet/framework/wcf/extending/change-cryptographic-provider-x509-certificate-private-key – crossroad
あなたのコメントはかなり啓発されています。 「WCFはすぐにCNGに統合されませんが、このような統合は重要な追加プログラミングで注入可能です」という行に沿って答えているようです。 –