windows - SSL 证书存储在哪里?

标签 windows ssl ssl-certificate

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

  1. OSx 和 Windows 在哪里保存它们的证书?
  2. 它是一个统一的目录吗?还是分散在多个位置?
  3. Windows 将它们保存在注册表中而不是目录中?
  4. 同一操作系统上的多个浏览器使用相同的证书库,或者所有浏览器都有自己的证书库?

  5. 我需要担心 nss 吗?

最佳答案

Where OSx and Windows keep their certificates?

OS X 将证书存储在钥匙串(keychain)中。 Windows 将证书存储在证书存储区中。

Is it one unified directory ?

没有。

or its splitted in multiple locations?

是的。

Windows keep them in registry not in directory?

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

multiple browsers on same operating system use the same certificate store or all of them have their on certificate store?

视情况而定。

Firefox 和 Opera 拥有自己的信任 anchor 集合(CA 证书)。

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

Safari 使用钥匙串(keychain)中的证书。

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

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

Do i need to worry about nss?

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


... CURLOPT_CAPATH ...

使用 cURL 时,您通常会使用“ca-certs”文件。参见 Automatically converted CA Certs from mozilla.org .

关于windows - SSL 证书存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25555627/

相关文章:

ssl - 如果我同时控制服务器和客户端,可以接受自签名证书吗?

windows - Spy++ 如何构建它的进程列表?

windows - CLion - GDB : current version is GNU gdb (GDB) (Cygwin 7. 10.1-1) 7.10.1;支持的版本是 7.8.x

Azure 网站 - 共享计划和 SSL(又名 HTTPS)

php - 当我在生产环境中部署代码时,SMTP 无法在 Code Igniter 上运行

java - 使用 TLS 协议(protocol)在客户端和服务器之间通信的密码套件

ssl - 如何从 Google Cloud Platform 上的负载均衡器中删除 SSL 证书?

ssl - 在 mysubdomain.parseapp.com 上添加 SSL

Win 7 家庭高级版上的 Python 2.7.2 和 Google App Engine SDK 1.6.1 无法正常工作

c - GetMessageW 正在阻塞调用线程,没有接收到任何消息