【问题标题】:What is the convention for where to place certain types of certs?在哪里放置某些类型的证书的约定是什么?
【发布时间】:2012-10-21 14:49:04
【问题描述】:

我正在尝试了解如何以编程方式在 Windows 上正确安装 CA、服务器和客户端 SSL 证书。在搜索特定类型的证书时,我一直无法发现要使用的任何总体方案或约定。似乎 Root 用于 CA,Trusted People 用于客户端证书和服务器证书,但我只能从我能找到的示例以及我已经看到安装在典型机器上的证书中猜测。 各种浏览器使用什么算法? 当您安装已声明其用途的证书时,算法窗口使用什么? 是否有 RFC 或其他定义?

具体来说,我可以如何: 使用 c# 在 Windows 机器上找到所有受信任的客户端 SSL 证书? 受信任的服务器证书和受信任的 CA 根和中间证书也是如此。 以编程方式放置每种类型的证书以便所有浏览器都可以找到它们的最佳逻辑和物理位置在哪里?

这里似乎需要枚举所有可能的位置。

【问题讨论】:

  • 上下文:我正在创建一个 C# COM 对象,以使用双向 SSL 安全地将 Windows 客户端应用程序与后端服务接口。证书是在凭据处理后获得的,并且服务器会为每台客户端计算机生成一个自定义客户端证书。如果需要,服务器将使用 CRL 删除客户端。 COM 对象以静默方式进行所有证书管理。证书必须是 .net webClient 对象可以使用它连接到服务器的位置。
  • 如果您要澄清问题,请通过编辑将上述评论包含在您的问题中。

标签: c# certificate store convention


【解决方案1】:

我自己找到了答案。转到 RFC(我找到了它here)。我强烈建议任何第一次尝试做任何证书工作的人花一天时间阅读这本 123 页的 Geekness 书籍。我避免了它,因为我讨厌翻阅大量乏味的文件——但事实是,证书并不简单,首先阅读这个 RTF 会让你避免很多错误的猜测。它将为您提供了解 OpenSLL 或任何其他证书相关工具所需的背景知识。

【讨论】:

  • 实际上,我并没有完全回答我的问题,但这确实有很大帮助。我正在为 Windows 编写一个证书管理工具,它应该可以帮助我对答案进行逆向工程。如果我能找到合适的地方放它,很高兴将它公开和免费。
猜你喜欢
  • 1970-01-01
  • 2023-04-09
  • 2012-05-30
  • 2012-10-22
  • 2015-09-30
  • 1970-01-01
  • 2017-09-23
  • 1970-01-01
  • 2015-03-15
相关资源
最近更新 更多