SslStream AuthenticateAsClient с использованием файла PFX - PullRequest
0 голосов
/ 11 февраля 2011

Я пытаюсь подключиться к серверу, используя SslStream.Мне дали файл PFX от владельца сервера, и я установил его на своем клиенте, но я не уверен, как получить доступ к сертификату из моего кода.

В частности, представьте, что у меня естьследующий код ...

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

Каким будет значение serverName?Я попытался
IP-адрес сервера
"MyServer"
"CN = MyServer"

Кажется, что ни одно из этих значений не работает.Есть ли что-то дополнительное, что мне нужно сделать, чтобы получить доступ к хранилищу сертификатов на моем компьютере, или я не понимаю, каким должно быть имя сервера?

1 Ответ

0 голосов
/ 04 июня 2011

Это должно быть общее имя (CN - обычно полное доменное имя ) сертификата сервера субъекта для хоста, к которому вы подключаетесь.

Например, если субъект сертификата сервера выглядит следующим образом:

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

, вы должны использовать:

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

Если хост, к которому вы подключаетесь, разрешает соединения без проверки сертификата клиента, то вам следуетиметь возможность подключиться к нему (например, с помощью браузера - если HTTPS) и увидеть сертификат сервера, или вы можете попробовать использовать OpenSSL клиент .

...