SSL证书存储在哪里?

时间:2014-08-28 18:29:49

标签: windows ssl ssl-certificate

我理解SSL是如何工作的,但我的问题更多的是关于客户端的证书存储。要了解确切的上下文,您可以假设我在编写自己的浏览器。 我的渲染部分将由WebKit完成,http请求处理部分将由libCurl完成。 libCurl有一个名为CURLOPT_CAPATH的选项,我可以使用它来将一个文件夹位置告诉libCurl,以及libCurl将为可能的可信证书机构引用的内容。但我不知道那个位置是什么?它是特定于操作系统的,我的浏览器类应用程序假设可以处理多个平台。

  1. OSx和Windows保留证书的地方?
  2. 是一个统一的目录吗?或者它分裂在多个地方?
  3. Windows将它们保存在注册表中而不是目录中?
  4. 同一操作系统上的多个浏览器使用相同的证书存储区,或者所有这些浏览器都有自己的证书存储区?

  5. 我需要担心nss吗?

1 个答案:

答案 0 :(得分:3)

  

OSx和Windows保留证书的地方?

OS X将证书存储在Keychain中。 Windows将证书存储在证书库中。

  

是一个统一的目录吗?

没有

  

或在多个地点拆分?

  

Windows将它们保存在注册表中而不是目录中?

Windows将证书存储在证书库中。它由文件支持,但您不能直接对文件进行操作。

  

同一操作系统上的多个浏览器使用相同的证书存储区,或者它们都有自己的证书存储区?

取决于。

Firefox和Opera带有他们自己的信任锚集合(CA Certifcates)。

Chrome使用操作系统提供的商店。

Safari使用钥匙串中的证书。

IE使用证书存储区中的证书。

我不确定其他浏览器会做什么。例如,我不知道Iceweasel和Dillo从哪里获取信任锚列表。

  

我需要担心nss吗?

这取决于。你有什么想法?


  

... CURLOPT_CAPATH ...

使用cURL时,您经常使用" ca-certs"文件。请参阅Automatically converted CA Certs from mozilla.org