对于学校,我们目前正在研究 SSL 证书。
对于本周的作业,我们必须在 VirtualBox 上安装 Fedora Workstation 并执行一些 SSL 操作。
其中一项作业如下:
generate a public/private keypair and a CSR with the openssl command.
我使用以下命令生成了一个公钥/私钥对:
openssl genrsa -out Desktop/mykey.key 2048
生成 key 对后,我必须对其进行验证。但是你如何验证 key 呢?这到底是什么意思?直接把公钥拿出来,看看是不是和私钥匹配? 这是第一个问题。
我使用以下命令生成了 CSR:
openssl req -new -key Desktop/mykey.key -out Desktop/myCSR.csr
这是正确的方法,对吧?
检查/验证 CSR 文件是使用以下命令完成的:
openssl req -text -noout -verify -in Desktop/myCSR.csr
我认为这也是正确的方法。
这是“简单”的部分,现在是更难的部分:
我们必须使用 xca 创建数据库和 CA 根证书。然后我们必须从上面的问题中导入 csr 并签名。我通过右击它并选择签名来签署它。然后我们必须导出 CA 和签名 key 并进行验证。但它们到底是什么意思?我的猜测是验证证书是否由 CA 签名,但我遇到了问题。 为此,我们必须使用 openssl x509,但它无法正常工作。
当我右键单击签名 key 并将其导出为 PEM 文件时,该文件中的内容如下:
----- BEGIN CERTIFICATE REQUEST -----
MIIC6......
----- BEGIN CERTIFICATE REQUEST -----
虽然分配说:导出签名证书。但这甚至是证书吗?
我如何验证它?
我用了很多命令,比如
openssl x509 -in Desktop/exported.pem -text -noout
但我得到的输出总是这样的:
我尝试了各种命令并阅读了所有谷歌页面,但没有任何帮助。 这是第二个问题
希望大家帮忙,谢谢!
最佳答案
当您验证证书时,您正在检查它的 CA 是否被识别,以及它是否与 CA 的指纹相匹配。您似乎没有向 openssl
提供 CA 证书命令。尝试指定 -CA <your CA cert file
:
$ openssl x509 --help
...
-CA arg - set the CA certificate, must be PEM format.
关于ssl - 验证 SSL 证书时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28352970/