不使用密钥库的客户端证书

2024-02-22

我试图弄清楚是否有任何方法可以让 .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 文件(其中包含密钥和证书),您可以使用 X509Certificate2 类加载该文件并使用它,并且它不会询问密钥库。

我找不到使用平面 PEM 密钥和证书文件来执行此操作的方法(例如,就像 Python 所需要的那样)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不使用密钥库的客户端证书 的相关文章

随机推荐