如果我的英语不太好,我深表歉意。我正在尝试从 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/