ssh - 无法通过SSH验证OpenSSL smime验证

标签 ssh openssl certificate verification smime

我正在尝试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/

相关文章:

linux - ssh & perl & 在后台运行

ssh - 通过 ssh 使用 SOCKS 时如何获取 IPv4 地址

windows - Ansible无法通过SSH连接到Windows节点

linux - AppEngine SSL 从命令行失败

java - 在没有安全弹出窗口的情况下签署 java 小程序

ssh - 恢复中断的 screen session 时重新连接 SSH 代理转发

java - 提取公钥

ruby - Mechanize 的 SSL 错误

ssl - Heroku 应用程序错误连接错误 : SSL_connect: certificate verify failed

android - 如何从另一台电脑导出 android studio 证书或 keystore