如何生成多域CSR。
我发现生成单个域名的CSR如下所示:
openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr但是如何生成CSR多域名呢
发布于 2012-02-06 18:23:40
根据RFC 2818 (HTTP over TLS) (或RFC6125),对于支持多个域的X.509证书,它必须使用多个使用者备用名称DNS条目:
如果存在类型为dNSName的subjectAltName扩展,则必须将其用作标识。否则,必须使用证书的Subject字段中的(最具体的) Common Name字段。虽然通用名称的使用是现有的做法,但它已被弃用,并鼓励证书颁发机构改用dNSName。
匹配是使用RFC2459指定的匹配规则执行的。如果在证书中存在给定类型的多于一个的身份(例如,多于一个的dNSName名称,则认为该组中的任何一个中的匹配是可接受的)。
如this document中所述(除非我也会对genrsa命令使用-des3,以保护私钥):
openssl.cnf文件(原始文件可能在Linux上的/etc下的某个地方)。openssl.cnf>d18/etc> section.req_extensions = v3_req,并将其添加到< [ req ] >d17subjectAltName=DNS:www.example.com,DNS:www.other-example.com >中的OpenSSL(您需要的每个主机名一个DNS:条目)。用OPENSSL_CONF=/path/to/your/openssl.cnf openssl req ...调用它
话虽如此,我并不太担心在CSR中设置任何扩展。任何好的CA都应该忽略您在CSR中设置的内容,而只设置他们在颁发实际证书时实际验证过的内容。他们将很乐意替换您的主题DN中的任何RDN (例如,国家/地区、组织等)以及任何扩展(SAN或密钥使用)。首先,如果他们根据申请人在企业社会责任中提出的任何延期要求,这将是一个安全风险,因为一些申请人可能真的会得到任何东西。其次,这就是他们如何赚取额外的钱,通过向你收取这里和那里设置的一些位(例如代码签名扩展):他们将确保你只得到你在证书中支付的东西。不过,我知道你可能想把你要求的所有名字都写在你的CSR里,只是为了确认一下。
https://stackoverflow.com/questions/9158245
复制相似问题