繁体   English   中英

NET::ERR_CERT_COMMON_NAME_INVALID 安全证书未指定主题备用名称

[英]NET::ERR_CERT_COMMON_NAME_INVALID security certificate does not specify Subject Alternative Names

如果我的英语不太好,我深表歉意。 我正在尝试从我的 IIS 服务器创建证书请求,但每次我完成请求时。 客户端仍然不信任 Web 服务器。

我来自开发背景,并没有真正涉足基础设施运营。 所以我的问题可能是错误的,由于误解,如果是这样,请随时教育我。 以下是我的问题:

在开始证书申请之前,我是否需要将根证书导入窗口 IIS 服务器? 如果是这样,我如何从 Window 证书颁发机构创建或导出根证书?

虽然这个答案不是特定于 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 

其中private.csr指的是您的新 CSR 文件, private.key指的是您应该已经生成的密钥,而ssl.conf是上面的文件。

您可以按如下方式验证新 CSR 的内容:

openssl req -text -noout -verify -in private.csr

然后,您将在控制台上看到 CSR 的详细信息,包括 SAN 详细信息。

参考资料:

错误可能是由于多种原因

a) 您使用 IP 地址访问网站(假设您拥有基于 URL 的证书)。 因此,请尝试使用您为其获取证书的 URL 进行访问

b) 您已为 xyz.com 购买了证书,但已将其绑定到 abc.com 。 因此,当访问 abc.com 时,您会收到上述错误。 如果有,请绑定正确的证书。

c) 您已获得多域证书,但您尝试访问的 url 未作为 SAN 添加到证书中。 与您的 SSL 提供商交谈并要求他将 URL 作为 SAN 添加到证书中。

答案不应该是 Chrome 强制要求使用主题备用名称 (SAN) 进行证书验证检查吗? 这是一个链接,其中详细介绍了通用名称 (CN) 和 SAN 之间的比较

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM