5
我试图制作一个简单的服务器,它侦听端口并使用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服务器证书(用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
。
我一直试图做这样的: 'OpenSSL的REQ -x509 -nodes -days 365 -newkey RSA:1024 -keyout “TEMP \ signkey.key” 退房手续“TEMP \ signkey.key “-config”openssl.cfg“'和 'openssl pkcs12 -export -out”temp \ certificate.pfx“-in”temp \ signkey.key“-name”NAME“'但是仍然存在异常。任何想法? – 2011-12-01 01:28:30
@Christoph您需要在导出过程中包含私钥,如下所示:'openssl pkcs12 -export -out certificate.pfx -in certificate.cer -inkey certificate.key -name“SSL stream 带'-inkey'参数的证书''' 。 – Joseph 2016-06-27 15:32:01