Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置具有签名证书的ssl服务器套接字_C#_Ssl_X509certificate - Fatal编程技术网

C# 设置具有签名证书的ssl服务器套接字

C# 设置具有签名证书的ssl服务器套接字,c#,ssl,x509certificate,C#,Ssl,X509certificate,我正在尝试创建一个简单的服务器,它侦听端口并使用ssl进行身份验证。我有档案 server.crt server.key my-ca.crt 通过openssl教程()获得my-ca.crt是我自己的ca证书,server.crt包含x509服务器证书(用my-ca.crt签名)和server.key是对应的私钥 我现在不知道如何在c#中加载这三个文件;我有点像 serverCertificate = new X509Certificate2("server.crt", "secret_pas

我正在尝试创建一个简单的服务器,它侦听端口并使用ssl进行身份验证。我有档案

server.crt
server.key
my-ca.crt
通过openssl教程()获得
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格式保存证书。请参阅,我尝试过这样做:
openssl-req-x509-nodes-days 365-newkey rsa:1024-keyout“temp\signkey.key”-out“temp\signkey.key”-out“temp\signkey.key”-config“openssl.cfg”
openssl-pkcs12-export-out“temp\certificate.pfx”-in“temp\signkey.key”-name”name“name”
,但例外情况仍然存在。有什么想法吗?@Christoph您需要在导出过程中包含私钥,如下所示:
openssl pkcs12-export-out certificate.pfx-in certificate.cer-inkey certificate.key-name“SSL流证书”
-inkey
参数。