为多个域设置httpS

Pyd*_* UA 5 ssl https openssl csr

我需要为多个domians xxxx.com xxxx.net设置https(带有单个通用证书)

我们购买证书的CA要求创建证书签名请求(CSR),但是当我用openssl生成它时 - 它只询问一个名称

如何为多个域制作一个CSR?

Bru*_*uno 12

避免使用具有多个CN的证书(如注释中所示),这不是规范(RFC 2818RFC 6125)说它应该如何工作的方式,虽然它可能在某些客户端应用程序中有效,但它通常会失败.来自RFC 2818:

如果存在类型为dNSName的subjectAltName扩展名,则必须将其用作标识.否则,必须使用证书的Subject字段中的(最具体的)Common Name字段.尽管使用Common Name是现有做法,但不推荐使用它,并且鼓励证书颁发机构使用dNSName.

而是生成具有多个主题备用名称(SAN)的证书(或CSR).

如果您正在使用OpenSSL,请openssl.cnf在相关部分([req][ v3_req ])中编辑您的(或编辑副本)并设置这些属性:

[req]
req_extensions = v3_req

[v3_req]
subjectAltName=DNS:www.example1.com,DNS:www.example2.com,DNS:www.example3.com
Run Code Online (Sandbox Code Playgroud)

这里还有一个很好的技巧来使用环境变量(而不是在配置文件中修复它):http://www.crsr.net/Notes/SSL.html

您可能还希望在CN中拥有其中一个(任何).

(您可能也对此答案感兴趣.)