如何在openssl conf文件中将SubjectAltName保留为commonName

时间:2018-07-02 06:45:52

标签: openssl ssl-certificate certificate-authority

我正在在我的centos服务器上构建证书颁发机构。根据{{​​1}}的《 OpenSSL Cookbook》(很棒的东西),我已经完成了设置。书中所解释的概念和过程非常简单,就像魅力一样。但是,我觉得它有点过时了,Chrome浏览器将行为更改为要求使用者替代名称,否则即使证书完全有效,它也会向浏览器发出警告。

阅读https://www.feistyduck.com/books/openssl-cookbook/的文档后,我可以理解,我需要将其包含在根CA和sub-ca(中间证书颁发机构)的conf文件中。

现在我要做的是将commonName用作SAN。这意味着我不希望对SAN进行硬编码,而要获取从CSR获得的CommonName值,并将其用作SAN。 我应该在conf文件中放入什么来实现此目的? 我试图把 subjectAltName = $ commonName 并告诉我这不是定义SAN的有效方法。

这是我实际的conf文件

https://www.openssl.org/docs/man1.0.2/apps/x509v3_config.html#Subject-Alternative-Name

2 个答案:

答案 0 :(得分:0)

不幸的是,OpenSSL conf文件一点也不复杂,并且不可能引用以前声明的名称。

我认为通常的方法是编写一个短脚本,该脚本可以填充模板conf文件。当然,这是我过去所做的。

答案 1 :(得分:0)

此答案可能对https://security.stackexchange.com/a/91556有帮助。正如@Jon已经提到的。只有在模板的帮助下才有可能。 确保您验证了输入。否则,有人可以在DNS名称中插入新行。 解决该问题的另一种方法是改用https://github.com/cloudflare/cfsslhttps://github.com/google/easypki