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

4
我需要生成一份拥有证明,使用我的私钥签署一个验证代码。
我在Stack Overflow上没有找到相关问题,并且在互联网上也找不到参考资料。我正在按照这个教程进行操作,但我想使用OpenSSL。
我的验证代码与X509证书相关,就像这样:
7A69A4702DA903A41C3A5BC5575A8E3F49BEC5E5BA2D4CE1

有使用 OpenSSL 的特定原因吗? - Crypt32
我只是不想使用教程中提到的脚本,而是想学习如何使用OpenSSL和@Crypt32来完成这个任务。顺便说一下,教程中提到该脚本是基于OpenSSL的。=) - Dalton Cézane
另一个原因是,我正在使用Ubuntu。因此,我想使用openssl(终端)来完成这个任务。 - Dalton Cézane
啊,好的。没看到这个例子是基于OpenSSL的(有点奇怪)。 - Crypt32
1个回答

9

我已经向Azure支持团队询问并得到了答案。

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

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

然后,我需要生成验证证书...
  • Create verification key:

    openssl genrsa -out verification.key 2048
    
  • Create the verification cert:

    openssl req -new -key verification.key -out verification.csr
    
创建验证证书时,我需要将获取的验证代码(7A69A4702DA903A41C3A5BC5575A8E3F49BEC5E5BA2D4CE1)指定为"通用名称"证书字段。现在,只需使用以下命令创建所有权证书:
openssl x509 -req -in verification.csr -CA root_cert.pem -CAkey root_private.pem -CAcreateserial -out verificationCert.pem -days 1024 -sha256

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

当我指定某个UUID的CN时,它会自动在CN后面添加"\x16",例如"CN=\x16234234234234234"。你有什么想法吗? - nolines
2
@nolines,正如您在这里所看到的那样,\x16是控制字符^V的ASCII十六进制表示。我怀疑您正在使用CTRL+V来粘贴UUID。尝试使用其他方法输入代码或手动输入。 - Dalton Cézane
openssl x509 -req -in verification.csr -CA root_cert.pem -CAkey root_private.pem -CAcreateserial -out verificationCert.pem -days 1024 -sha256 将-verification.csr更改为verification.csr。 - Ravikiran Reddy Kotapati

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接