无域子域的 SSL 证书

rdm*_*ler 1 ssl certificate https subdomain

我的 Intranet 中有一个网络服务器,可以通过subdomain.domain.com 简单地访问它subdomain。创建的 SSL 证书会在subdomain.domain.com我仅subdomain通过 https访问时立即产生警告。

知道如何解决这个问题吗?(是的,我对 ssl 服务器配置不太了解 :-)

chu*_*utz 5

您可以在签名时简单地将备用名称添加到证书中。例如,如果您使用 OpenSSL 并server_ca在签名时使用该部分 (例如openssl ca -config my.conf -name server_ca -in server.req -out server.crt),请确保您在签名时使用的配置文件中有一个类似于以下内容的部分:

[server_ca]
...
x509_extensions = server_cert

[server_cert]
...
subjectAltName = @server_alt_names

[server_alt_names]
DNS.1 = subdomain.domain.com
DNS.2 = subdomain
Run Code Online (Sandbox Code Playgroud)

要验证您的证书,请将其通过管道传输到openssl x509 -noout -text. 您应该在输出中看到如下一行:

        X509v3 Subject Alternative Name: 
            DNS:subdomain.domain.com, DNS:subdomain
Run Code Online (Sandbox Code Playgroud)

我看到了关于 SNI 的评论,但如果你只是签署证书,SNI 根本没有关系(只要两个名字都应该指向相同的内容)。这种方法对 Firefox 和 IE 肯定有效,对 Chrome 和 wget 则完全无效。事实上,如果您将名称列为备用名称,证书中的 CN 甚至无关紧要。