过去,我一直通过导出带密码的 PFX 证书来制作安全的 TcpListener,但我想知道是否可以跳过此步骤。
我没有使用商业 SSL 证书,并且有一个用于颁发服务器证书的根 CA。在 C# 中托管 TcpListener 时,这些服务器证书需要额外的步骤(我猜是因为没有使用 CSR)...但是如果我有私钥和 OpenSSL 生成/使用的证书怎么办。
sslCertificate = new X509Certificate2("myExportedCert.pfx", "1234");
所以这很好,但是我必须发出一个 openssl 命令来从证书和私钥创建一个 pfx 文件,然后输入一些密码。然后将此密码包含在我的代码中。
我想知道这一步是否非常必要。有没有办法从证书中组成 X509Certificate2,然后应用私钥。构造函数参数仅允许证书部分,但加密失败,因为没有私钥。
另外,我不想依赖 OpenSSL 或 IIS 来导出 pfx.... 看起来很笨拙。
理想情况下,我想:
sslCertificate = new X509Certificate2("myCert.crt");
sslCertificate.ApplyPrivateKey(keyBytes) // <= or "private.key" or whatever
sslStream.AuthenticateAsServer(sslCertificate, false, SslProtocols.Default, false);
达令说
翻翻过去那场雪
相关分类