如何创建子个人数字证书?

问题描述:

我有个人的CA颁发的数字证书。如何创建子个人数字证书?

我该如何制作子证书,我将用这个可信的签名?

所以这个产业链是这样的:VeriSign <- Local CA <- ME <- [ Laptop 1, Laptop 2 ]

要使用您的证书签名的证书,证书必须具备X509的基本约束扩展。

原因是因为证书基本上是一种身份识别形式,要颁发一个您需要认证的ID,以便每个人都知道您不会向随机的人员/服务器颁发证书而不检查身份人/服务器。这将允许您在任何时候都对HTTPS流量执行MITM攻击(只需为该域颁发证书,然后离开)。

是的,一旦有人看到你这样做,你可能会被撤销,但在PKI撤销并不完美的两个主要原因。首先,任何人都可能需要很长时间才能意识到你正在发布随机证书,因为没有任何东西看起来不对(忽略证书锁定,因为并非所有浏览器都这么做)。其次,即使在撤销之后,大多数浏览器都会在撤销信息方面失败(这意味着如果他们无法到达CRL/OCSP,他们会认为该证书没有问题),因此您可以拒绝其他人。

您必须推出自己的CA才能颁发证书,并且如果您希望在您的私人域外信任这些证书,则必须遵守有关您颁发的证书的严格规则并定期进行审核,以确保您遵循这些规则规则。如果您只是希望他们信任某个私有域,那么您甚至不需要与另一个CA进行通信,只需将您的CA安装到该域的信任存储区中(或根据您的设置安装到域中的单个计算机上)。

你不能让子证书,因为证书只能由证书颁发机构创建。 X509v3 PKIX配置文件定义了指定证书所有者类型的基本约束证书扩展:CA或最终实体。证书延期缺席或Subject Type = End entity意味着您不是CA并且不允许签署其他证书。

p.s.从技术上讲,您可以签署其他证书,但这些证书永远不会传递链验证逻辑,并且会永久拒绝。

不过,你可以从商业CA那里购买合格的CA证书,这个过程被称为认证机构签署根:http://social.technet.microsoft.com/wiki/contents/articles/5973.certification-authority-root-signing.aspx

+0

谢谢!我从技术上看不出为什么这是一个问题,在宏伟的计划中。我认为这样做既有经济动机,也有可能是“较弱”的子证书信任。 我想要这样做的原因是,目前的商业智能卡提供商几乎不可能用证书进行任何真正的签名/加密。金雅拓将是其中之一。 (我如何在Github上使用它?) – stojanman