Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security cacert.pem是我的计算机独有的吗?_Security_Ssl_Rsa - Fatal编程技术网

Security cacert.pem是我的计算机独有的吗?

Security cacert.pem是我的计算机独有的吗?,security,ssl,rsa,Security,Ssl,Rsa,我目前认为,cacert.pem是一组键,我可以用它们来检查我正在谈论的站点是否就是它声称的站点。因此,如果我向某人发送一个依赖于cacert.pem的程序,我可以在我的计算机上向他们发送一个版本,这对我没有安全威胁 唯一的安全威胁是他们,那就是如果我给他们发了一个假的cacert.pem 这是否正确?我是否安全地将计算机上的cacert.pem版本发送给另一个可能不受信任的人 编辑: 正如Steffen指出的,cacert.pem可以引用任何文件。我特别指的是在请求Python包中找到的文件。

我目前认为,
cacert.pem
是一组键,我可以用它们来检查我正在谈论的站点是否就是它声称的站点。因此,如果我向某人发送一个依赖于
cacert.pem
的程序,我可以在我的计算机上向他们发送一个版本,这对我没有安全威胁

唯一的安全威胁是他们,那就是如果我给他们发了一个假的
cacert.pem

这是否正确?我是否安全地将计算机上的
cacert.pem
版本发送给另一个可能不受信任的人

编辑:


正如Steffen指出的,
cacert.pem
可以引用任何文件。我特别指的是在
请求
Python
包中找到的文件。

我不知道您所说的是哪个
cacert.pem
文件,但BSD上的
/etc/ssl/cacert.pem
或Linux上的
/etc/ssl/certs
文件夹中只包含一个受信任证书机构的公共列表,用于验证SSL连接的信任。这些文件中没有秘密,通常它们甚至不是特定于系统的(尽管可以添加或删除CA来管理自己的信任设置)

但是,我也不知道您的
cacert.pem
文件包含什么,因为这个文件名没有固有的语义。如果它还包含私钥,您绝对不应该将其提供给其他人

唯一的安全威胁是他们,那就是如果我给他们发一个假的cacert.pem

是用于认证站点或服务的根CA和从属CA的集合

这里的三个威胁是:

  • 您添加自己的CA,然后稍后MitM连接
  • 错误的CA认证站点或服务,攻击者随后会破坏连接
  • 您的
    cacert.pem
    副本在运输过程中被篡改
  • (1) 不那么令人担心,因为它要求您拥有特权网络位置,如在同一局域网或电信基础设施中。您可以添加自己的CA,而收件人可能不会更聪明

    (2) 这是一个真正的问题。例如,我们知道Google是由Equifax安全证书颁发机构认证的。Equifax认证一个名为GeoTrust Global CA的下属CA。GeoTrust认证一个名为Google Internet Authority G2的Google下属CA

    所以(2)的第一个问题是最近声称要证明谷歌的财产,我们知道这是错误的。他们可以成功,因为他们有很多根和下属

    (2)的第二个问题与第一个有关。比如说,因为你信任谷歌互联网管理局G2,谷歌可以为任何域造出证书,而不仅仅是它们的属性。这里的问题是它是一个不受约束的从属CA,之所以这样做是因为

    (3) 这只是MitM的一次攻击。他可以删除所需的证书,这可能导致拒绝服务。或者他可以插入一个CA,返回到(1)。或者他可以破坏整个文件