命令中的Openssl optionalCompanyName(可选公司名称)

命令中的Openssl optionalCompanyName(可选公司名称),openssl,attributes,command,Openssl,Attributes,Command,我制作了一个openssl命令,这样我就可以使用脚本自动执行它。我通过访问不同的问题和网站找到了所有选项,但找不到“可选公司名称”选项,我尝试了“optionalCompanyName”,但不起作用 (/C) Country Name (2 letter code) [XX]:GB (/ST) State or Province Name (full name) []:London (/L) Locality Name (eg, city) [Default City]:London (/O)

我制作了一个openssl命令,这样我就可以使用脚本自动执行它。我通过访问不同的问题和网站找到了所有选项,但找不到“可选公司名称”选项,我尝试了“optionalCompanyName”,但不起作用

(/C) Country Name (2 letter code) [XX]:GB
(/ST) State or Province Name (full name) []:London
(/L) Locality Name (eg, city) [Default City]:London
(/O) Organization Name (eg, company) [Default Company Ltd]:XYZ
(/U) Organizational Unit Name (eg, section) []:XYZ
(/CN) Common Name (eg, your name or your server's hostname) []:- $DOMAIN
(/emailAddress) Email Address [] :- some@some.com
(/challengePassword) A challenge password :- strongpass
(/?) An optional company name []:PROBLEM
请帮忙

export domain=SOMEDOMAINNAME
openssl req -nodes -newkey rsa:2048 -keyout $domain.key -out $domain.csr -subj "/C=GB/ST=London/L=London/O=XYZ/OU=XYZ UK/CN=$domain/emailAddress=some@some.com/challengePassword=strongpass/optionalCompanyName=PROBLEM"
多行中的同一命令,因此易于阅读

export domain=SOMEDOMAINNAME
openssl req -nodes -newkey rsa:2048 -keyout $domain.key -out $domain.csr -subj  
"/C=GB/ST=London/L=London/O=XYZ/OU=XYZ UK/CN=$domain/emailAddress=some@some.com 
/challengePassword=strongpass/optionalCompanyName=PROBLEM"
访问链接

  • 还有一些问题

证书中定义的属性由定义

没有定义“可选公司名称”项

我认为您所指的是“组织名称”属性类型。这是用LDAP名称“O”定义的

在你的例子中:

“/C=GB/ST=London/L=London/O=XYZ/OU=XYZ 英国/中国=$domain/电子邮件地址=some@some.com /challengePassword=strongpass/optionalCompanyName=PROBLEM“

它是“/O=XYZ”,所以“组织”(或公司名称)是“XYZ”

更新:

读了一些书后,我看到了你的来历,因为我以前从未读过:

可选公司名称:“为”

“非结构化名称”和“challengePassword”仅是证书请求的一部分。所以这不是主题的一部分。因此,您不应该在主题行中使用“/challengePassword=strongpass”

您可以在默认的openssl.conf文件中看到:

[ req ]
attributes      = req_attributes

[ req_attributes ]
challengePassword       = A challenge password
challengePassword_min       = 4
challengePassword_max       = 20
unstructuredName        = An optional company name
大多数CA都会忽略Req属性。请参阅OpenSSL中的注释:

属性

这将指定包含任何请求的节 属性:其格式与可分辨名称相同。典型的 这些可能包含challengePassword或非结构化名称类型。 它们目前被OpenSSL的请求签名实用程序忽略,但是 一些CAs可能需要它们

目前openssl不提供任何从命令行设置req属性的方法。因此,实现这一点的唯一方法是使用设置了这些属性的自定义conf文件

如果需要这样做,我将创建一个conf文件,提示设置为“no”,并使用-conf openssl参数。请注意,当您将“提示”设置为“否”时,会有一些变化


由于req ATRIBUTES很可能被忽略,所以我不会费心设置它们。

嗨,Shane,我不是在寻找组织,我编辑了这个问题以使其更清楚。谢谢Shane,您的更新很有效+1和接受你的ans。