在“TLS初探(2)证书简介”中提过,如想使用泛域名,可在Subject DN(Distingushed Name)的CN(Common Name)中使用*通配符,例如*.abc.com。而如果想使用同一证书匹配多个域名,可以使用X.509中扩展字段的Subject Alternative Name字段来进行多域名支持。
为此如果想支持多域名证书,首先就要想办法在CSR证书请求中增加对X.509 v3扩展字段的支持,默认的openssl.cnf配置文件中并未开启支持;但是个人推荐还是不要修改默认的openssl.cnf配置,而是拷贝一份至CA证书同级目录下,从而确保对每个CA证书制定请求和签发规则。
(一)制作多域名证书请求文件(CSR)
首先找到openssl.cnf中“[ req ]”配置,并打开其下“req_extenstions = v3_req”配置,如下所示:
[ req ]
......
req_extensions = v3_req
表示对于证书签发请求文件,启用req_extensions,并且扩展字段参照“v3_req”配置,接着同样找到“[ v3_req ]”,从而在其下添加Subject Alternative Name扩展,如下所示:
[ v3_req ]
......
subjectAltName = @alternative_names
......
[alternative_names]
DNS.1