使用套接字通信在.Net中进行Peer-peer mutal SSL身份验证

时间:2014-10-23 06:49:30

标签: c# sockets ssl x509certificate2

我必须为对等通信而不是localhost进行相互SSL身份验证。我这样做是使用Microsoft.Net Socket Communication Class以及具有ValidateServerCertificate和ValidateClientCertificate回调的SslStream类。

为此,我创建了自签名证书,包括一个根证书,一个服务器证书和一个客户端证书。下面是我用来生成相同的命令。

- > makecert.exe -n" CN = abc.com" -r -pe -a sha512 -len 4096 -cy authority -sv RootCert.pvk RootCert.cer - > pvk2pfx -pvk RootCert.pvk -spc RootCert.cer -pfx RootCert.pfx -po test123

服务器 - > makecert.exe -pe -n" CN = abc.com" -a sha512 -sky exchange -eku 1.3.6.1.5.5.7.3.1 -ic RootCert.cer -iv RootCert.pvk -sp" Microsoft RSA SChannel Cryptographic Provider" -sy 12 -sv ServerCert.pvk ServerCert.cer - > pvk2pfx -pvk ServerCert.pvk -spc ServerCert.cer -pfx ServerCert.pfx -po test123

客户端 - > makecert.exe -pe -n" CN = abc.com" -a sha512 -sky exchange -eku 1.3.6.1.5.5.7.3.2 -ic RootCert.cer -iv RootCert.pvk -sp" Microsoft RSA SChannel Cryptographic Provider" -sy 12 -sv ClientCert.pvk ClientCert.cer - > pvk2pfx -pvk ClientCert.pvk -spc ClientCert.cer -pfx ClientCert.pfx -po test123

生成所有必需的证书后,我将它们添加到mmc控制台,如上所述。 要检查相互身份验证我正在使用 X509Certificate2 类,而在 SslPolicyErrors 中执行此操作时,我遇到错误,指出 RemoteCertificate名称不匹配

我知道这是一个很长的镜头,但任何人都可以给我任何指示。

1 个答案:

答案 0 :(得分:0)

大家好,如果您仍然遇到与我发布的相同的问题,请点击以下链接。 我们的团队致力于此,我们找到了以下解决方案,希望它有所帮助。

SSL mutual authentication Certificate issue

相关问题