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

标签 windows ssl active-directory ssl-certificate iis-8

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

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

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

最佳答案

虽然这个答案不是特定于 Windows 的,但我通过搜索我的问题找到了这个页面,希望以下信息对像我这样在 Linux 上遇到此问题的人有用:

我也遇到过这个问题,尽管接受的答案可能是正确的,但使用 SAN(主题备用名称)生成 CSR(证书签名请求)的过程需要一些解释。

有几篇文章详细介绍了这一点,但基本上,您需要创建一个文件,我们将其称为 ssl.conf,其中包含必要的信息,包括 SAN 详细信息,您将通过这些信息传递创建 CSR 时 openssl 命令的参数。

(这假设您已经生成了 key )。

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

文件的其余部分包含在 CSR 创建过程中系统会提示您输入的其他 X.509 信息(国家/地区、州/省等)

现在您可以按如下方式创建 CSR:

openssl req -new -sha256 -out private.csr -key private.key -config ssl.conf 

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

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

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

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

引用文献:

关于windows - NET::ERR_CERT_COMMON_NAME_INVALID 安全证书未指定主题备用名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46659753/

相关文章:

swift - 在 OSX 或 Windows (VM)、React Native 还是 Swift 上进行 iOS 开发?

python - 如何使用 Python 将用户移动到不同的 OU

winforms - 通过事件目录进行 Winform 用户授权

Selenium firefox 驱动力 https

具有 SSL 身份验证的 Java SOAP 客户端 : bad certificate

禁用 TLS1.0 时 SSL 握手失败

返回不完整用户列表的 Java Active Directory 查询

android - "SDK directory does not exist"错误

windows - 使用 powershell 和 windows 窗体将进度条插入状态栏面板

windows - 语法错误使用 Windows 替换 ("\\"、 "\") 来替换 Python 中的文件路径