当前位置: 首页 > 知识库问答 >
问题:

如何向证书签名请求(CSR)添加附加信息?

夏侯和韵
2023-03-14

我正在使用OpenSSL生成证书签名请求(CSR)。

但是,我希望将自己的字段添加到证书中,例如:
GroupID:348348923
EmployeeLevel:Class 3

在我请求证书颁发机构(CA)签署CSR之前,正确的方法是什么?

共有1个答案

段干兴业
2023-03-14

您描述的所有字段都是X509 CSR中的主题项。它们实际上是OID(通常以其给定的简称显示)。你可以在这里找到他们的名单。做你想做的事需要几件事。首先,必须定义要映射到短名称的OID。有几种方法可以做到这一点,但是如果您希望保证唯一性,您应该从IANA(私人分配列表)请求一个企业号。

如果您并不真正需要这种东西,您可以在1.3.6.1.4.1.x下生成自己的#,当然,但我建议使用一个非常大的#.

完成之后,您就可以在conf或您可能使用的任何其他工具中定义OpenSSL OID映射。当然,如果您在不知道自己的映射的任何内容中查看结果证书,您将看不到“groupid”,而是看到更类似于“1.3.6.1.4.1.3838483483.1=Class3”的内容。

需要注意的是,如果您将此CSR发送给任何公开信任的CA(而不是您自己的私有CA),那么它们很有可能会删除任何未知字段。

当然,你不一定想做这些。如果您需要将这些值编码到证书中,我建议您直接引用自己制作的OID,或者从已经具有短名映射的各种很少使用的预定义主题OID中进行选择。

 类似资料:
  • 我检查了这个关于正确签名数据的问题,但它没有响应我的SCEP服务器的需求。我使用的代码来自EJBCA,但似乎没有向PKCS7签名数据添加证书。 当我使用工具解析签名数据时,我看到“证书”字段是“空的”。此外,当我尝试使用,我一无所获。 以下是我如何用Bouncy Castle签署我的数据(代码很多,但足以重现问题):

  • 我有一个纯Java的应用程序,目前使用基于. jks的密钥和信任存储。据我所知,Bluemix下的SSL协议处理是在网络端使用单个端口和用于主机和域标识的通配符证书完成的。我关心的是信任存储的使用,在那里我用来添加可信伙伴节点的证书,例如身份提供者。是否有高级上传工具可以帮助安装受信任的证书?有了这些功能,Java可以将其功能限制在非常基本的HTTP实现上,并由云及其在动态端口上发生的HTTP到H

  • 如果URL使用自签名证书,则在以下情况下失败 我知道我可以将传递给参数,如下所示: 但是,我想做的是将请求指向磁盘上的公钥副本,并告诉它信任该证书。

  • 问题内容: 我想在Jenkins中的安全性下启用LDAPS,但是我的LDAP服务器具有自签名的CERT。有没有人做过或对此有一些指示?我必须使用keytool吗? 在我的Dockerfile中,我正在尝试以下操作,但这不起作用: 问题答案: 事实证明,我只需要在Dockerfile中添加它,其中ldap.cer是我的自签名证书的证书链。

  • 您应该使用什么方式与您的证书颁发机构签署证书请求?一种方法比另一种方法好吗(例如,一种方法被弃用)?

  • 我在java和cxf中有应用程序,它通过客户端证书连接到Web服务。 我有WebService所有者的证书 证书。p12 证书。pem 证书。crt 受信任的核证机关 根癌 我无法直接将此p12证书转换为java要求的工作jks密钥库。 我是这样做的: 但是这个jks不工作,我得到HTTP响应403:禁止使用这个certificate1.jks 但是,如果我将此p12(pfx)证书导入Intern