证书中包含哪些证书签名请求信息?

时间:2015-03-09 08:01:01

标签: ssl ssl-certificate csr

如果您创建证书签名请求并包含身份信息(例如,专有名称,公司名称,城镇/城市,电子邮件地址),则证书本身包含的任何此类数据(CA向您发出的信息)基于CSR)?

或者,在同意签署公钥之前,证书颁发机构是否只是使用它来识别您的身份?

有关识别信息的更完整列表,请参阅https://en.wikipedia.org/wiki/Certificate_signing_request

上的表格

2 个答案:

答案 0 :(得分:1)

这取决于CA配置和请求生成代码。例如,使用Microsoft Enterprise CA时,公钥和证书模板名称就足够了。 CA服务器将查看证书模板属性(包括主题名称)以构建证书。使用Microsoft Standalone CA时,必须在请求中明确提供所有必需的扩展,主题字段。 商业CA可能需要不同的信息集来构建证书。

这是关于CA的要求。请求生成代码可以放置CA可能(不必要)用于构造证书的附加信息。例如,certreq.exe或CertEnroll COM接口包括请求发起者信息:用户帐户名,主机名,进程名和基于密钥设置的默认扩展名(KeyUsage)(AT_EXCHANGE或AT_SIGNATURE)。

换句话说,这个问题没有明确的答案。一切都取决于客户端和服务器软件。不同的客户端软件可能包含不同的信息。

答案 1 :(得分:1)

这取决于CA,但是一个好的CA不应该盲目地复制你在CSR中的内容。

当CA颁发证书时,它会有效地保证它放在证书中的身份信息和属性。因此,它不应该放置组织名称,位置,电子邮件地址等数据,除非它能够在外部验证它们。原则上从安全的角度来看这是一件好事,并且因为它们通常会让你为额外的属性付出额外的费用,所以不要让你选择进入的内容也符合他们的商业利益。

实际上,这取决于您所使用的证书类型(例如,域验证,EV证书......)。额外的信息通常会由CA通过一些管理流程进行验证,因此CSR本身的内容几乎不相关,因为他们将根据他们愿意断言的任何信息来构建CA.

例如,对于域验证的证书,某些CA将构建类似OU=Domain Validated, CN=your.host.name的DN,而不管您实际在CSR中放置的DN。他们甚至可能会自动输入一些主题备用名称,包括和不带www.前缀。