我试图弄清楚是否有任何方法可以让 .NET 客户端使用客户端证书而不以任何方式涉及 Windows 密钥库。
我有一个这样的代码片段:
test1.Service s = new test1.Service();
X509Certificate c = X509Certificate.CreateFromCertFile(@"C:\test.pem");
s.ClientCertificates.Add(c);
int result = s.TestMethod();
但是,这仅在我的证书存储中安装了“test.pem”中引用的证书时才有效。我认为这是因为密钥是谈判所必需的。如果我在商店中没有证书/密钥,则证书不会随请求一起发送。
我想要做的是能够从一个或多个文件中提供证书和私钥,并且不以任何方式涉及 Windows 证书存储。
有没有办法做到这一点?