spr*_*aff 8 certificate openssl pki ssl-certificate certificate-authority
我正在为 Intranet 创建一个证书颁发机构。
我已经生成了根和中间 CA,并使用中间 CA 成功签署了服务器证书。服务器证书具有CN=mysite.com
.
将来,此服务器证书将过期,我将需要颁发一个新证书。但是,如果我创建另一个相同的 CSR,CN=mysite.com
那么当我签署它时,我会得到
failed to update database
TXT_DB error number 2
Run Code Online (Sandbox Code Playgroud)
如果我用不同的 CN 创建一个新的 CSR,这个错误就会消失,但 CN 必须相同,否则浏览器不会说它有效,对吧?
我该如何解决?
编辑:我正在遵循本指南——在链接页面结束之前一切都很好,但是当我尝试重复此页面上的步骤以创建第二个证书时,openssl 要求我为新证书提供不同的 CN。
SUBJ="/C=$C/ST=$ST/L=$L/O=$O/OU=$OU/CN=$CN"
# Generate CSR
echo "$PW" | openssl req \
-config "$CAROOT/intermediate/openssl.cnf" \
-new -sha256 -subj "$SUBJ" -passin stdin \
-key "$PRIV_ENC" -out "$CSR_INT" >/dev/null 2>&1 ||
{
>&2 echo "Could not openssl req";
exit 1;
}
# Sign CSR
openssl ca \
-config "$CAROOT/intermediate/openssl.cnf" \
-batch -extensions server_cert \
-days "$HTTP_DAYS" -notext -md sha256 \
-in "$CSR_INT" -out "$CRT_INT" ||
{
>&2 echo "Could not openssl ca";
exit 1;
}
Run Code Online (Sandbox Code Playgroud)
这是openssl ca
失败的。
小智 11
如果要创建具有相同主题的多个证书,可以像这样更改配置:
您可以在CA部分(可能更改[CA_default]
)在openssl.cnf
设置
unique_subject = no
Run Code Online (Sandbox Code Playgroud)
但是这个设置也保存在 file 中index.txt.attr
,你也必须改变它。否则它将无法工作。
你需要骗子吗?传统浏览器和客户端要求主题名称的 CommonName字段与主机名匹配;现代人更喜欢 SubjectAlternativeName (SAN)扩展中的条目这样做。您可以将其他字段设置为不同,例如
O=Floo Manufacturing, OU=floo server 2016, CN=www.floo.example.com
O=Floo Manufacturing, OU=floo server 2017, CN=www.floo.example.com
Run Code Online (Sandbox Code Playgroud)
并且主题 DN 是唯一的,即使 CommonName 本身不是。或者对于现代客户端,您可以放入www.floo.example.com
SAN 并使用完全没有 CommonName 的唯一主题。但是让 openssl 做 per-cert SAN 有点不方便;参见例如https://security.stackexchange.com/questions/113484/followup-to-one-liner-to-create-cert-request-with-san
允许欺骗:官方方式
在您的配置文件(即$CAROOT/intermediate/openssl.cnf
)中,转到CA的“部分”(由[somename]
带有可选空格的表单行分隔)。由于您没有在命令行上使用,因此部分名称是该部分或默认部分中的值(在第一行之前的顶部);看着你的链接,它可能是。添加一行-name
default_ca
[ca]
[somename]
[CA_default]
unique_subject=no
Run Code Online (Sandbox Code Playgroud)
带间距和跟随# comment
可选。或者,如果您已经有一行用于更改和/或取消注释此项目,但在您的链接附近查看您可能没有。
请参阅ca(1ssl)
您的系统或网络上的手册页CONFIGURATION FILE OPTIONS 下。
允许欺骗:非官方方式
清空(截断)配置database
文件,该文件通常index.txt
位于您的链接附近,他们显然使用了该文件。或者编辑该文件并删除要重复使用的主题的行- 但在这种情况下,您似乎只有一个或几个并且您想重新使用它或所有他们,所以清空文件更简单。
归档时间: |
|
查看次数: |
15875 次 |
最近记录: |