如何使用 OpenSSL 为 X509 证书生成所有权证明?

How to generate a proof of possesion for a X509 certificate using OpenSSL?

我需要生成一个所有权证明,用我的私钥签署一个验证码。

我在 Stack Overflow 中没有找到与此相关的问题,我也没有在 Internet 上找到一些参考。我正在关注 this tutorial,但我想使用 OpenSSL。

我的验证码与X509证书相关,像这样:

7A69A4702DA903A41C3A5BC5575A8E3F49BEC5E5BA2D4CE1

我从 Azure 支持团队那里得到了答案。

我已经有了我的根密钥和 X509 证书,使用以下命令生成:

openssl req -x509 -newkey rsa:2048 -keyout root_private.pem -nodes -out root_cert.pem

然后,我需要生成验证证书...

  • 创建验证密钥:

    openssl genrsa -out verification.key 2048
    
  • 创建验证证书:

    openssl req -new -key verification.key -out verification.csr
    

创建验证证书时,我需要将获得的验证码(7A69A4702DA903A41C3A5BC5575A8E3F49BEC5E5BA2D4CE1)指定为“Common Name”证书字段。

现在,只需使用以下命令创建所有权证明证书:

openssl x509 -req -in verification.csr -CA root_cert.pem -CAkey root_private.pem -CAcreateserial -out verificationCert.pem -days 1024 -sha256

如果我没记错的话,最后一条命令用根私钥签署 verification.csr,验证码为 Common Name。最后,verificationCert.pem可以作为拥有证明