.NET System.Security.SslStreamクラスを使用して、クライアント認証を使用してSSL/TLSストリームのサーバー側を処理しようとしています。.NET SslStreamでクライアント認証に受け入れられる証明書を指定する方法
ハンドシェイクを実行するには、私はこのコードを使用しています:
SslStream sslStream = new SslStream(innerStream, false, RemoteCertificateValidation, LocalCertificateSelectionCallback);
sslStream.AuthenticateAsServer(serverCertificate, true, SslProtocols.Default, false);
残念ながら、これは私のCryptoAPIの信頼されたルートストアにすべての証明書のsubjectnamesを含むCertificateRequestを送信SslStreamになります。
私はこれを無効にしたいと考えています。ユーザーが信頼されたルートストアに証明書をインストールまたは削除するように要求することはできません。
SslStreamはその下にSSPI/SecureChannelを使用しているようですので、そのAPIと同等の処理を誰かが知っていれば役立ちます。
アイデア?
ラスマス、私は同じ問題を解決しようとしています。あなたは特定の解決策を見つけましたか? – cdpnet
@cdpnet、私はSslStreamのMono実装を使用して解決しました。 –