无法通过SSH验证openssl smime验证

我正在尝试SSH进入我大学的服务器以执行OpenSSL分配。 我有我的自签名证书aasignedcert.pem ,它是用aaprivatekey.pem和我的明文test.txt签名的aaprivatekey.pem

我首先使用以下命令签署了我的消息以创建我的testsigned.txt文件:

openssl smime -sign -signer aasignedcert.pem -in test.txt -inkey aaprivatekey.pem > testsigned.txt

然后,加密文件以制作testsigned.txt.enc

openssl smime -encrypt -in testsigned.txt -aes128 aasignedcert.pem > test.txt.enc

为了确保一切正常,我解密了该文件并将其存储在testsigned.dec.txt

openssl smime -decrypt -aes128 -in test.txt.enc -inkey aaprivatekey.pem > test.dec.txt

解密的文件确实具有原始明文。 最后,我试图使用我签署的证书对其进行验证:

openssl smime -verify -in test.dec.txt -CAfile aasignedcert.pem -certfile aasignedcert.pem

但是,这不起作用。 即使摆弄参数,我也会一直得到这个错误信息:

Verification failure 139814549997256:error:21075075:PKCS7 routines:PKCS7_verify:certificate verify error:pk7_smime.c:342:Verify error:unable to get local issuer certificate

我无法弄清楚我做错了什么。 有人有想法吗?


你是如何创建aasignedcert.pem的? 也许你是使用你创建的本地CA自签名的? 如果是这种情况,我相信你需要将CA的证书传递给-CAfile参数。

openssl smime -verify -in test.dec.txt -CAfile [CA的证书] -certfile aasignedcert.pem


要在验证消息时取消对密钥证书的检查,可以将-noverify参数提供给verify命令(尽管openssl smime verify -noverify确实看起来有点奇怪)。

链接地址: http://www.djcxy.com/p/63481.html

上一篇: Cannot verify openssl smime verify over SSH

下一篇: OpenSSL as a CA without touching the certs/crl/index/etc environment