验证 SSL 证书时出现问题

Problems verifying SSL certificate

对于学校,我们目前正在研究 SSL 证书。

对于本周的作业,我们必须在 VirtualBox 上安装 Fedora Workstation 并执行一些 SSL-stuff。

其中一项作业如下:

generate a public/private keypair and a CSR with the openssl command.

我使用以下命令生成了一个 public/private 密钥对:

openssl genrsa -out Desktop/mykey.key 2048

生成密钥对后,我必须对其进行验证。但是你如何验证密钥呢?这到底是什么意思?直接把 public key 拿出来,看看是不是和私钥匹配? 这是第一个问题。

我使用以下命令生成了 CSR:

openssl req -new -key Desktop/mykey.key -out Desktop/myCSR.csr

这是正确的方法,对吧?

Checking/verifying CSR 文件是使用此命令完成的:

openssl req -text -noout -verify -in Desktop/myCSR.csr

我认为这也是正确的方法。

这是 "easy" 部分,现在是更难的部分:

我们必须使用 xca 创建数据库和 CA 根证书。然后我们必须从上面的问题中导入 csr 并签名。我通过右键单击它并选择 sign 来签名。然后我们必须导出 CA 和签名密钥并进行验证。但它们到底是什么意思?我的猜测是验证证书是否由 CA 签名,但我遇到了问题。 为此,我们必须使用 openssl x509,但它无法正常工作。

当我右键单击签名密钥并将其导出为 PEM 文件时,该文件中的内容如下:

----- BEGIN CERTIFICATE REQUEST -----
MIIC6......
----- BEGIN CERTIFICATE REQUEST -----

而分配说:导出签名证书。但这还是证书吗?

我该如何验证?

我用了很多命令,比如

openssl x509 -in Desktop/exported.pem -text -noout

但是我得到的输出总是这样的:

我尝试了各种命令并阅读了所有 google 页,但没有任何帮助。 这是第二题

希望大家帮忙,谢谢!

当您验证证书时,您正在检查它的 CA 是否被识别,以及它是否与 CA 的指纹相匹配。您似乎没有向 openssl 命令提供 CA 证书。尝试指定 -CA <your CA cert file:

 $ openssl x509 --help
...
 -CA arg         - set the CA certificate, must be PEM format.