3

Windows では、TLS サーバー証明書 (証明書ストアにある) には、CSP キーストアまたは CNG キーストアにある秘密鍵 (PK) が付属しています。PK の最終的な場所は、証明書をインポートするとき (つまり、最近の Windows バージョンの場合) に指定できます。たとえば、-sp(サブジェクトのプロバイダー) パラメーターを に使用しmakecertます。

プロバイダーが指定されていない場合、デフォルトはフレンドリーではありません。PK は最終的に CNG KSP になり、WCF では使用できなくなります。

Microsoft、「. NET Framework 4.6.1 以前のバージョンは、CNG/KSP 証明書を処理するために従来の CryptoAPI を使用しているため、これらの証明書をサポートしていません。.NET Framework 4.6.1 以前のバージョンでこれらの証明書を使用すると、例外が発生します。 . "

ただし、接続のサーバー側にインストールされた .NET Framework 4.6.1 と .NET Framework 4.6.2 の間でまったく同じ動作が見られます。何が起こるかというと、サーバーは (独自のログによると) 指定されたポートで問題なくリッスンしているように見えますが、ポートは開いていません ( によるnetstat -a)。Invalid provider type specifiedサーバーがポートを開こうとしている間、Windows イベント ログに言及があります。

それが重要な場合は、サーバーと実際のポートの間に net.tcp ポート共有があります。

CNG KSP でサーバー証明書を使用して (WCF を使用して) .NET の任意のバージョンを正常に実行している人はいますか? 上記のマイクロソフトのドキュメントは単に間違っていますか?

4

1 に答える 1