对于学校,我们目前正在研究SSL证书。
对于本周的任务,我们必须在VirtualBox上安装Fedora Workstation并做一些SSL工作。
其中一项任务如下:
使用openssl命令生成公钥/私钥对和CSR。
我使用以下命令生成了一个公钥/私钥对:
openssl genrsa -out Desktop/mykey.key 2048
在我生成密钥对后,我必须验证它。但是你如何验证密钥?那是什么意思?只需拿出公钥并检查它是否与私钥匹配? 这是第一个问题。
我使用以下命令生成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和签名密钥并进行验证。但他们究竟是什么意思呢?我的猜测是验证证书是否由CA签名,但我遇到了问题。 我们必须使用openssl x509,但它不起作用。
当我右键单击签名密钥并将其导出为PEM文件时,该文件中包含以下内容:
----- BEGIN CERTIFICATE REQUEST -----
MIIC6......
----- BEGIN CERTIFICATE REQUEST -----
虽然分配说:导出签名证书。但这甚至是证书吗?
我该如何验证?
我使用了很多命令,比如
openssl x509 -in Desktop/exported.pem -text -noout
但我得到的输出总是这样:
我尝试过各种各样的命令并阅读所有谷歌页面,但没有任何帮助。 这是第二个问题
希望大家都能提供帮助,谢谢!
答案 0 :(得分:1)
验证证书时,您正在检查它的CA是否被识别,并且它与CA的指纹匹配。您似乎没有为openssl
命令提供CA证书。尝试指定-CA <your CA cert file
:
$ openssl x509 --help
...
-CA arg - set the CA certificate, must be PEM format.