我正在编写一些代码,用于创建X509证书和公钥/私钥对。将公钥添加到证书中,并将其发送给CA进行签名。
然后通过System.Security.Cryptography.X509Certificates.X509Certificate2类访问返回的证书。现在我想使用此证书与其他客户端建立安全连接。因此,我使用SslStream类。为了开始SSL握手,我使用以下方法:
server.AssociatedSslStream.AuthenticateAsServer(
MyCertificate, // Client Certificate
true, // Require Certificate from connecting Peer
SslProtocols.Tls, // Use TLS 1.0
false // check Certificate revocation
);
这种方法需要将私钥与证书关联。当然,由CA返回的证书不包含私钥。但它作为.key文件存储在硬盘上。X509Certificate2类有一个名为PrivateKey的属性,我猜它会将私钥与证书关联起来,但我找不到设置此属性的方法。
有没有办法将私钥与.NET X509类关联起来?