我通过 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;
另外,我将我的本地域添加为Common Name
。*.localdomain.sweb
但是当用户接受域认证时,域www.localdomain.sweb
也another.localdomain.sweb
需要被接受。
当用户接受主域证书时,如何将所有子域设置为有效证书。
答案1
答案很简单:不要使用自签名证书。
您的用户浏览器(非常正确地)坚持要求他们接受每个域的无效(自签名/未知颁发机构)证书。这是因为浏览器有无法知道他们接受的证书www.localdomain.sweb
也有效another.localdomain.sweb
(因为没有有效的签名机构证明该证书)。
如果你获得了适当的证书被...签名公认的证书颁发机构(或者建立您自己的 CA 并将其公钥分发给您的客户作为公认的证书颁发机构)浏览器将信任它对通配符中的所有域,因为它是正确签名的,因此是适当授权的(因为 CA 在颁发证书之前可能执行了一些验证)。