2011-02-11 35 views
0

我正在尝试使用SslStream连接到服务器。我已经从服务器的所有者那里获得了一个PFX文件,并且已经将它安装在我的客户端上,但我不确定如何从我的代码中访问证书。使用PFX文件的SslStream AuthenticateAsClient

具体来说,假设我有以下代码...

var serverName = "?"; 
var stream = new SslStream(); 
stream.AuthenticateAsClient(serverName); 

什么将服务器名称的价值是什么?我试过
服务器
“MyServer的”
“CN = MyServer的”

这些都不值似乎工作的IP地址。有什么额外的我需要做的来访问我的机器上的证书存储,或者我不明白什么serverName需要?

+0

您是否找到了答案? – Fantius 2011-05-11 21:03:19

回答

0

它必须是您要连接到的主机的服务器证书主题的通用名称(CN - 通常是fully qualified domain name)。

例如,如果服务器的证书主题是这样的:

CN = www.verisign.com, OU = Production Security Services, O = VeriSign, Inc ... 

你应该使用:

stream.AuthenticateAsClient("www.verisign.com"); 

如果要连接到主机允许连接,无需客户端证书验证,那么你应该能够连接到它(例如使用浏览器 - 如果HTTPS)并查看服务器证书,或者您可以尝试使用OpenSSL client