当我试图调用第三方Api时,我会得到由Api站点生成的3个文件:root.cer、client.pfx和server.pfx。
我使用的是Windows,所以我使用mmc ( Management )在root.cert中安装了Trusted Root Certification Authorities。我知道,通过这个步骤,我在我的机器上安装了一个CA,但是我仍然不能从我的机器调用Api。因此,我也在client.pfx mmc中安装了personal,之后我就可以成功地调用Api了。
我对client.pfx的用途感到困惑。以下是我对整个过程的理解:
我知道我正试图通过SSL/TLS连接到Api站点。每次我连接到站点时,它都会提供一个证书,然后使用root.cert通过我安装在机器上的CA验证证书。在此之后,我可以确认公钥属于我试图连接的站点,然后我应该能够发送由公钥加密的消息到站点。
我的问题是:
client.pfx的用途是什么,为什么我必须安装它?server.pfx有什么用途?发布于 2018-03-20 17:09:24
文件client.pfx的用途是什么,为什么我必须安装它?
SSL/TLS使用(几乎总是)服务器证书对服务器进行身份验证(使用root.cert进行验证)。它还可以选择地要求客户端使用证书(相互身份验证)对服务器进行身份验证。这是在您的情况下完成的,client.pfx文件包含客户端证书和相关的私钥。服务器只接受显示它拥有此证书的客户端。
在我的场景中没有使用的文件server.pfx有什么用途?
这可能是服务器的证书。我不知道为什么会给您此文件(因为您不应该需要或访问服务器私钥),但是您可以使用servers证书使您的应用程序只接受服务器的这个特定证书,而不是所有由CA颁发的与服务器名称匹配的证书。这也称为证书钉扎或公钥钉扎。
https://security.stackexchange.com/questions/181937
复制相似问题