我正在尝试使用.Net System.Security.SslStream类通过客户端身份验证处理SSL/TLS流的服务器端。如何在.NET中为客户端身份验证指定接受的证书SslStream
要执行握手,我使用这段代码:
SslStream sslStream = new SslStream(innerStream, false, RemoteCertificateValidation, LocalCertificateSelectionCallback);
sslStream.AuthenticateAsServer(serverCertificate, true, SslProtocols.Default, false);
不幸的是,这导致SslStream传输包含我CryptoAPI的受信任根存储的所有证书的SUBJECTNAMES一个CertificateRequest。
我希望能够覆盖这一点。我不能要求用户从受信任的根存储中安装或删除证书。
它看起来像SslStream在底下使用SSPI/SecureChannel,所以如果有人知道如何做相当于该API,这也会有所帮助。
任何想法?
Rasmus,我试图解决同样的问题。你有没有找到特别的解决方案? – cdpnet 2013-06-17 05:58:42