gpt4 book ai didi

ssl - 为什么我们需要在 Windows 中安装 .pfx 证书(而不是 .cer),然后才能使用客户端证书进行调用?

转载 作者:太空宇宙 更新时间:2023-11-03 12:49:42 26 4
gpt4 key购买 nike

我编写了一个小型控制台应用程序来使用客户端证书对服务器进行 HTTP 调用。我编写的代码从指定位置读取 .cer 文件以发出请求:

  X509Certificate Cert = X509Certificate.CreateFromCertFile("JohnDoe.cer");            
HttpWebRequest Request = (HttpWebRequest)
WebRequest.Create("https://10.135.12.166:4434");
Request.ClientCertificates.Add(Cert);
Request.UserAgent = "Client Cert Sample";
Request.Method = "GET";
HttpWebResponse Response = (HttpWebResponse) Request.GetResponse();

但是,除非您将证书安装在证书管理器中当前用户的个人文件夹中,否则此代码不起作用。更具体地说,它仅在我安装了 .pfx 证书时有效,而不是 .cer

据我了解,客户端证书仅用于身份验证而不用于加密,对吗?所以,

  1. 为什么我们需要安装证书?为什么我的程序不能直接从该位置选择 .cer 文件并将其与请求一起发送?而且,

  2. 再次,更具体地说,为什么我们需要安装 .pfx 证书?为什么 .cer 不能完成这项工作?

最佳答案

.cer 文件包含证书。证书包含公钥。使用证书进行身份验证涉及加密操作,以表明您拥有与(公共(public))证书中的公钥相匹配的 secret 私钥。此私钥包含在 .pfx 文件中。

关于ssl - 为什么我们需要在 Windows 中安装 .pfx 证书(而不是 .cer),然后才能使用客户端证书进行调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25254115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com