Установка ssl сервера снабжает сокетом с сертификатом со знаком

Я пытаюсь сделать простой сервер, который слушает на порте и проходит проверку подлинности с ssl. У меня есть файлы

server.crt
server.key
my-ca.crt

полученный с openssl учебным руководством (http://www.vanemery.com/Linux/Apache/apache-SSL.html). my-ca.crt мой собственный сертификат CA, server.crt содержит x509 сертификат сервера (подписанный с мой-ca.crt) и server.key соответствующий закрытый ключ.

Я теперь не знаю, как загрузить эти три файла в c#; у меня есть что-то как

serverCertificate = new X509Certificate2("server.crt", "secret_password");
sslStream.AuthenticateAsServer(serverCertificate, false, SslProtocols.Tls, true);

который не работает (я добираюсь

Unhandled Exception: System.NotSupportedException: The server mode SSL must use a certificate with the associated private key.

) но у меня нет подсказки, как добавить server.key и/или my-ca.crt.

5
задан Frank Meulenaar 12 July 2010 в 16:39
поделиться

1 ответ

Для использования X509Certificate2 в форме

serverCertificate = new X509Certificate2("server.pfx", "secret_password");

необходимо сохранить сертификат в формате PKCS12. See http://www.madboa.com/geek/openssl/#cert-pkcs12 and http://www.openssl.org/docs/apps/pkcs12.html

3
ответ дан 15 December 2019 в 06:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: