如何使用 OpenSSL 为客户端证书创建指定 CA 私钥密码

How to specify CA private key password for client certificate creation using OpenSSL

我正在构建命令行脚本以使用 OpenSSL "mini CA" 功能创建客户端证书。

我有一个 CA 证书用密码加密的 CA 私钥。有了这些东西,我试图创建客户端证书并偶然发现了命令行语法。 如何指定 CA 私钥的密码?

到目前为止,我有...

openssl x509
  -req
  -in client.csr
  -signkey client.key
  -passin pass:clientPK
  -CA client-ca.crt
  -CAkey client-ca.key 
  -CAkeypassin pass:client-caPK <-- does not work
  -CAcreateserial
  -out client.crt
  -days 365

查看突出显示的参数。我期待这样的东西,但我在文档中的任何地方都找不到它。

更正

仅作记录。 -signkey 参数用于自签名证书。 CA 无权访问客户端的私钥,因此不会使用它。相反,-passin 参数指的是 CA 的私钥。

openssl x509
  -req
  -in client.csr
  -CA client-ca.crt
  -CAkey client-ca.key 
  -passin pass:CAPKPassword
  -CAcreateserial
  -out client.crt
  -days 365

使用-passin pass,如下所示。

 openssl x509
      -req
      -in client.csr
      -signkey client.key
      -passin pass:clientPK
      -CA client-ca.crt
      -CAkey client-ca.key 
      -passin pass:secret <-- try this
      -CAcreateserial
      -out client.crt
      -days 365