我试图找出是否有办法有一个.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证书存储区。

有没有办法做到这一点?

有帮助吗?

解决方案

我要发布一个答案,我自己的职位,但会离开它打开看,如果其他人可以解决这个问题不同。

基本上,我划船。如果你有一个PKCS12文件(key和证书),则它可以使用X509Certificate2类加载该文件,并使用它,它也不会询问密钥库。

我不能找到一种方法与平PEM密钥和证书文件(就像你使用Python需要的东西,例如)。

要做到这一点
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top