繁体   English   中英

设置带有签名证书的ssl服务器套接字

[英]Setting up a ssl server socket with signed certificate

我正在尝试创建一个侦听端口并使用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

在表单中使用X509Certificate2

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM