Windows上的CA证书目录

时间:2014-11-12 18:03:01

标签: windows openssl certificate

我在C中创建一个网络客户端,而且我使用linux工作,我不知道如何在Windows上使用CA证书。 Windows手册不是很好。

默认情况下,Windows证书目录(root)存在于Windows?

与linux下的目录/ etc / ssl / certs /一样,这是一个CA证书列表。

我需要这个以适应与openSSL一起使用的程序。

你可以帮帮我吗?提前谢谢。

3 个答案:

答案 0 :(得分:1)

我不相信Windows会将您的证书存储在默认文件位置,而是存储在注册表项中。查看this link - 它适用于Windows Server 2003,但我相信大部分信息仍然相关。

通常用于管理证书的基本工具是Certreq.exe和Certutil.exe。

Here is a basic C++ program有关如何为Windows插入/创建证书的示例。它没有解决您问题的网络部分,但我认为您可能会发现它很有用。

祝你好运。

答案 1 :(得分:0)

  

Windows上默认存在CA证书目录(root)?喜欢   linux下的目录/ etc / ssl / certs /,这是一个CA列表   证书。

没有。您必须在Windows上为您的应用提供具有根证书和中间证书的文件。它可以来自Linux,也可以通过certmgr手动从Windows应用商店导出nessecity证书。或者,您可以使用WinAPI的帮助以编程方式创建受信任的根证书和中间证书列表,例如Qt。

答案 2 :(得分:0)

您可以访问Windows证书存储区(包含CA证书)并操作具有此功能的证书:

CertOpenSystemStore()
CertEnumCertificatesInStore()
CertCloseStore()

并将DER证书转换为OpenSSL X509结构:

d2i_X509()

例如,请参阅此链接:

TLS client: