通配符ssl的子域名

我通过openssl使用以下命令生成我的ssl密钥:

openssl req -passin pass:3a1b -new -key server.key -out server.csr; cp server.key server.key.org; openssl rsa -passin pass:3a1b -in server.key.org -out server.key; openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt; 

另外我添加我的localdomain作为Common Name设置为*.localdomain.sweb 。 但是当用户接受域名www.localdomain.sweb域的authentication时, www.localdomain.sweb another.localdomain.sweb也需要被接受。

当用户接受主域名证书时,如何将所有子域设置为有效证书。

答案很简单: 不要使用自签名证书

您的用户浏览器(非常正确地)坚持认为他们接受每个域的无效(自签名/未知权限)证书。 这是因为浏览器无法知道他们正在为www.localdomain.sweb接受的证书对www.localdomain.sweb也是有效的(因为没有certificate证书的有效签名权限)。

如果您获得由认可的authentication机构签署的适当证书 (或者build立您自己的CA并将其公钥作为公认的证书颁发机构分发给您的客户),则浏览器将信任通配符中的所有域,因为它已正确签名,因此正式授权(因为大概是CA在颁发证书之前进行了一些validation)。