2017-06-07 6 views
1

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の文書は単に間違っていますか?

答えて

0

ここで制限について語るリンク(link) 私が成功したことは、秘密鍵プロバイダーをMicrosoft Enhanced Cryptographic Provider v1.0(CryptoAPI)に変換してこれを解決したことです。

+1

はい、これまではCNGからCryptoAPIへの移行が唯一の選択肢のようです。 –

+1

これはまた助けるかもしれないhttps://docs.microsoft.com/en-us/dotnet/framework/wcf/extending/change-cryptographic-provider-x509-certificate-private-key – crossroad

+0

あなたのコメントはかなり啓発されています。 「WCFはすぐにCNGに統合されませんが、このような統合は重要な追加プログラミングで注入可能です」という行に沿って答えているようです。 –

関連する問題