.cer和pfx文件有什么区别

Tho*_*mas 72 ssl certificate

人们常说 -

cer - 以X.509标准格式存储的证书.此证书包含有关证书所有者的信息以及公钥和私钥.

pfx - 代表个人交换格式.它用于在单个文件中交换公共和私有对象.可以从.cer文件创建pfx文件.也可用于创建软件发布者证书.

**从这个链接获得参考cer,pvk和pfx文件有什么区别?**

但没有人说我们什么时候应该使用CERT文件,何时应该使用PFX文件.如果可能的话,请讨论我们应该去CERT文件的情况以及什么时候应该去PFX文件.谢谢.

Pet*_*erB 84

.pfx包含相关证书的公钥和私钥(永远不要在组织外共享); 它可用于网站上的TLS/SSL,用于对消息或授权令牌进行数字签名,或用于向伙伴系统进行身份验证..cer文件只有公钥(这是您通常与集成合作伙伴交换的内容); 它可以用于验证令牌或客户端身份验证请求,它是HTTP客户端从SSL握手中的服务器接收的内容.

  • @Thomas你能重复一遍吗?你的帖子没有问号,所以很难说出什么没有答案.BTW,cer文件不包含私钥.;) (3认同)

Tur*_*rOC 5

2种方案的工作方式略有不同:

场景1:
Web浏览器(客户端)使用SSL通过HTTPS访问Web页面(服务器)。

服务器具有包含两个密钥的.PFX文件。客户端连接到服务器上的网站,并且服务器将其公钥(.CER文件)的副本发送到客户端,作为SSL握手的一部分。然后,客户端生成一个“会话密钥”,并使用从服务器接收到的公共密钥对其进行加密。然后将会话密钥发送回服务器并解密以确认其真实性。如果成功,则客户端和服务器现在都共享“会话密钥”以使用对称加密进行通信(即,客户端和服务器现在都使用相同的会话密钥对彼此之间的所有消息进行加密和解密。所有这些都在在您在地址栏中输入URL到看到网页出现之间,在Web浏览器后台进行了后台操作。

场景2:
应用程序(客户 端)使用SSH 连接到FTP站点(服务器)

远程桌面(客户端到服务器)
(两个示例都适用)

在这种情况下,双方客户端和服务器拥有自己的私人和公共密钥对
(相比之下,在这个线程中提到的其他例子,当一个服务器有两个按键,并且客户端只有公钥只能说明)

现在,出于说明目的-让我们将密钥对标记为:
A1A2 =分别作为服务器的私钥和公钥
B1B2 = 分别作为服务器的私钥和公钥

使用此模型,该线程中的先前帖子都在谈论服务器何时具有A1A2.PFX文件),并且仅与客户端共享A2.CER)的副本

FTP或SSH连接(还有其他示例)在整个客户端-服务器通信中由A1A2B1B2密钥组成。例如,
-客户端连接到FTP服务器。
-服务器将其公钥(A2)的副​​本发送给客户端。
-客户端将自己的公钥(B2)发送回服务器,从而完成握手。
-现在将使用非对称加密

服务器现在具有A1,(其自己的私有),A2其自己的公开)和B2客户的公共)的副本。客户
端现在具有B1,(其自己的私有),B2其自己的公共)和A1的副本(服务器的)公开

客户
端到服务器的通信:客户端使用A2(服务器公钥)对绑定到服务器的消息进行加密,服务器使用A1(服务器私钥)解密它们。

服务器到客户端的通信:
服务器使用B2(客户端公共密钥)对绑定到客户端的消息进行加密,客户端使用B1(客户端私钥)对其进行解密

对于.CER和.PFX文件类型,服务器具有自己的.PFX,不应将其分发到组织外部,而应将.CER文件分发给客户端。

更多信息可以在这里找到:https :
//www.digicert.com/ssl-cryptography.htm

而在这里:https :
//serverfault.com/questions/107433/why-does-a-ssh-public-key-sit-on-the-server-and-not-with-the-client