Windows NET::ERR\u CERT\u COMMON\u NAME\u无效的安全证书未指定使用者备选名称
如果我的英语不太好,我道歉。我正试图从我的IIS服务器创建证书请求,但每次我都完成了请求。客户端仍然不信任web服务器 我的发展背景不是真正的基础设施运营。因此,由于误解,我的问题可能不正确,如果是,请随时教育我。以下是我的问题:Windows NET::ERR\u CERT\u COMMON\u NAME\u无效的安全证书未指定使用者备选名称,windows,ssl,active-directory,ssl-certificate,iis-8,Windows,Ssl,Active Directory,Ssl Certificate,Iis 8,如果我的英语不太好,我道歉。我正试图从我的IIS服务器创建证书请求,但每次我都完成了请求。客户端仍然不信任web服务器 我的发展背景不是真正的基础设施运营。因此,由于误解,我的问题可能不正确,如果是,请随时教育我。以下是我的问题: 在启动证书请求之前,是否需要将根证书导入Windows IIS服务器?如果是,如何从Windows证书颁发机构创建或导出根证书?该错误可能是由于多种原因造成的 a) 您正在使用IP地址访问网站(假设您拥有基于URL的证书)。因此,请尝试使用已获取证书的URL进行访问
在启动证书请求之前,是否需要将根证书导入Windows IIS服务器?如果是,如何从Windows证书颁发机构创建或导出根证书?该错误可能是由于多种原因造成的 a) 您正在使用IP地址访问网站(假设您拥有基于URL的证书)。因此,请尝试使用已获取证书的URL进行访问 b) 您已为xyz.com购买了证书,但已将其绑定到abc.com。因此,当访问abc.com时,您会收到上述错误。绑定正确的证书(如果有) c) 您已获得多域证书,但您尝试访问的url未作为SAN添加到证书中。请与您的SSL提供商谈谈,让他将URL作为SAN添加到证书中。虽然此答案不是Windows特有的,但我通过搜索我的问题找到了此页面,希望以下信息对Linux上有此问题的人有用,比如我: 我也遇到过这个问题,尽管公认的答案可能是正确的,但使用SAN(使用者替代名称)生成CSR(证书签名请求)的过程需要一些解释 有几篇文章对此进行了详细介绍,但基本上,您需要创建一个文件,我们称之为
ssl.conf
,其中包含必要的信息,包括SAN详细信息,在创建CSR时,您将通过参数将其传递给openssl
命令
(假设您已经生成了密钥)
ssl.conf
的内容可以简单如下。请注意底部详述SAN的部分调整所有参数以满足您的要求。
[req]
default_bits = 2048
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn
[ dn ]
C=US
ST=New York
L=Rochester
O=End Point
OU=Testing Domain
emailAddress=your-administrative-address@your-awesome-existing-domain.com
CN = www.your-new-domain.com
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = your-new-domain.com
DNS.2 = www.your-new-domain.com
文件的其余部分包含其他X.509信息,在CSR创建过程中会提示您输入这些信息(国家、州等)
现在,您可以按如下方式创建CSR:
openssl req -new -sha256 -out private.csr -key private.key -config ssl.conf
openssl req -text -noout -verify -in private.csr
其中,private.csr
指的是您的新csr文件,private.key
指的是您应该已经生成的密钥,ssl.conf
指的是上面的文件
您可以按如下方式验证新CSR的内容:
openssl req -new -sha256 -out private.csr -key private.key -config ssl.conf
openssl req -text -noout -verify -in private.csr
然后,您将在控制台上看到CSR的详细信息,包括SAN详细信息
参考资料: