Openssl 如何使用emailAddress oneline创建CSR?

Openssl 如何使用emailAddress oneline创建CSR?,openssl,Openssl,我正在处理一个创建证书签名请求的 给我带来麻烦的是: openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout example.com.key -out example.com.csr -subj "/CN=example.com/emailAddress=webmaster@example.com/O=MyOrganization/OU=MyUnit/C=US/ST=AR/L=Fayetteville" 几乎所有属性看起来都很好,但出于

我正在处理一个创建证书签名请求的

给我带来麻烦的是:

openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout example.com.key -out example.com.csr -subj "/CN=example.com/emailAddress=webmaster@example.com/O=MyOrganization/OU=MyUnit/C=US/ST=AR/L=Fayetteville"
几乎所有属性看起来都很好,但出于某些可怕的原因,它们将emailAddress行划分为公共名称,这导致浏览器中出现无效证书问题

openssl req -text -noout -verify -in example.com.csr
openssl req -text -noout -verify -in example.com.csr
注意它是如何将它们混合在一起的:

我希望它能够识别不同的属性:


如果我先列出emailAddress属性

openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout example.com.key -out example.com.csr -subj "/emailAddress=webmaster@example.com/CN=example.com/O=MyOrganization/OU=MyUnit/C=US/ST=AR/L=Fayetteville"
然后它似乎能很好地分辨出来


在过去,电子邮件地址可能是主题字段的一部分。电子邮件地址有一个subjectAltName字段,这是我们真正应该使用的。这在如何解析“/emailAddress=”部件方面造成了一些混乱。

堆栈溢出是一个解决编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。另请参见。@jww感谢您的关注,但这是一个bash脚本,它应该在SO的主题上。另外,这里已经有很多相关的问题没有完全回答这个问题。如果你能回答为什么当属性反转时它很重要,那么这将是很有启发性的。thanksBash脚本是关于这个主题的,但您可能应该询问有关如何在不同站点上使用无关命令的问题。有一些网站更适合回答关于如何使用命令和如何形成可分辨名称的问题,你可能会得到更高质量的答案。我刚刚注意到了同样的问题。感谢您找到解决方法。我刚刚于2018年3月27日测试了OpenSSL 1.1.0h,主题中的电子邮件地址顺序现在无关紧要。你的回答告诉了我如何在主题中添加电子邮件地址。谢谢。你能举出一些参考资料吗?
CN=example.com, emailAddress=webmaster@example.com
openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout example.com.key -out example.com.csr -subj "/emailAddress=webmaster@example.com/CN=example.com/O=MyOrganization/OU=MyUnit/C=US/ST=AR/L=Fayetteville"
openssl req -text -noout -verify -in example.com.csr
verify OK
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: emailAddress=webmaster@example.com, CN=example.com, O=MyOrganization, OU=MyUnit, C=US, ST=AR, L=Fayetteville