首页 文章

使用openssl smime进行数据验证失败

提问于
浏览
0

我使用openssl smime来签名和验证数据 .

要使用openssl签署文本文件,请使用以下命令:

openssl smime -sign -in sample.txt -out mail.msg -signer cert.pem -inkey key.pem

然后我继续验证:

openssl smime -verify -in mail.msg -CAfile allCA.pem

验证成功 .

我的问题是我有一个外部工具,使用以下命令执行验证:

openssl smime -verify -in mail.msg -inform DER -CAfile allCA.pem

如何签署我的txt文件,以便可以使用上一个命令进行验证?

What I've tried so far:

openssl smime -sign -in sample.txt -out mail.msg -outform DER -signer cert.pem -inkey key.pem

但是在尝试验证邮件时出错:

Verification failure
140204331579208:error:2107507A:PKCS7 routines:PKCS7_verify:no content:pk7_smime.c:291:

1 回答

  • 1

    调用sign操作的方式会创建分离签名,因此您需要传递 -content sample.txt 来验证命令 . 但是,可以创建将消息与签名( -nodetach 参数)一起封装的结构 .

    这是您要查找的sign命令:

    openssl smime -sign -in data.dat -out mail.msg -signer cert.pem -inkey key.pem -outform DER -nodetach
    

相关问题