0

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

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

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

serverName 的值是多少?我试过服务器 “MyServer” “CN = MyServer”
的IP地址

这些值似乎都不起作用。我需要做些什么才能访问我机器上的证书存储,还是我不明白 serverName 需要什么?

4

1 回答 1

0

它必须是您要连接的主机的服务器证书主题的通用名称(CN - 通常是完全限定的域名) 。

例如,如果服务器证书主题如下所示:

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

你应该使用:

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

如果您要连接的主机允许在没有客户端证书验证的情况下进行连接,那么您应该能够连接到它(例如使用浏览器 - 如果是 HTTPS)并查看服务器证书,或者您可以尝试使用OpenSSL 客户端

于 2011-06-03T21:34:13.083 回答