我正在尝试SSH进入我大学的服务器,以便执行OpenSSL分配。我有我的自签名证书aasignedcert.pem
,使用aaprivatekey.pem
和我的明文test.txt
签名的私钥。
我首先使用以下命令对消息进行签名以创建我的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
关于ssh - 无法通过SSH验证OpenSSL smime验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14994736/