OpenSSL ca 在输入密码后失败且没有错误消息

Kyl*_*e B 5 windows certificate openssl certificate-authority

我尝试使用根 CA 签署中间证书的 CSR,OpenSSL 要求我提供密码,然后什么也没有发生。没有错误消息,也没有生成证书。它失败的命令是:

openssl ca -config rootca.cnf -extensions v3_intermediate_ca ^
  -days 730 -notext -md sha256 ^
  -in C:/Certificates/IntermediateCA/csr/intermediate.csr.pem ^
  -out C:/Certificates/IntermediateCA/public/intermediate.cert.pem
Run Code Online (Sandbox Code Playgroud)

openssl 响应:

Enter pass phrase for C:/Certificates/RootCA/private/rootca.key.pem:
Run Code Online (Sandbox Code Playgroud)

当我输入密码时,之后什么也没有发生。

这个问题的一个好的答案有两个部分:

  1. 我究竟做错了什么?
  2. 如何获得此问题的错误输出?

额外细节

不确定是否需要这样做,但这里有一些我用来生成中间 CA 其余部分的附加命令:

创建中间CA私钥:

openssl genrsa -aes256 -out private/intermediate.key.pem 4096
Run Code Online (Sandbox Code Playgroud)

创建中级 CSR:

openssl req -config intermediateca.cnf -new -sha256 ^
  -key private/intermediate.key.pem ^
  -out csr/intermediate.csr.pem
Run Code Online (Sandbox Code Playgroud)

rootca.cnf(重要部分):

[ CA_default ]
dir = C:/Certificates/RootCA
...
[ policy_strict ]
countryName             = match
stateOrProvinceName     = match
localityName            = match
organizationName        = match
organizationalUnitName  = optional
commonName              = supplied
emailAddress            = optional
...
[ req_distinguished_name ]
0.organizationName_default = org1
1.organizationName_default = org1.1
...
[ v3_intermediate_ca ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
basicConstraints = critical, CA:true, pathlen:0
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
Run Code Online (Sandbox Code Playgroud)

小智 5

openssl 可能认为您的index.txt文件“已损坏”。echo '' > index.txt当我在编写一些脚本时重置文件时,也发生了同样的行为。只需删除index.txt文件并使用touch index.txt它重新创建它就足以让 openssl 再次高兴起来。