5

我正在尝试制作一个简单的服务器,它侦听端口并使用 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 服务器证书(使用 my-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.

4

1 回答 1

3

X509Certificate2在表格中使用

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

您应该以 PKCS12 格式保存证书。请参阅http://www.madboa.com/geek/openssl/#cert-pkcs12http://www.openssl.org/docs/apps/pkcs12.html

于 2010-07-12T16:49:33.690 回答