我收到加密和签名的smime消息。 解密是好的,数据似乎是正确的。OpenSSL smime验证失败,正确的证书和签名
openssl.exe smime -decrypt -in %1 -out %1_signed.txt -inkey myPrivate.pem
但在验证签名阶段,我得到错误。
openssl.exe smime -verify -CAfile senderCACert.pem -certfile senderCert.pem -in %1 -out %1_plain
Verification failure
7600:error:21071065:PKCS7 routines:PKCS7_signatureVerify:digest failure:./crypto/pkcs7/pk7_doit.c:9
48:
7600:error:21075069:PKCS7 routines:PKCS7_verify:signature failure:./crypto/pkcs7/pk7_smime.c:312:
发件人两个证书(CA证书和客户端证书)应该都可以。
我认为openssl可以在解密过程中产生特定的符号,比如换行符或其他源代码中不存在的符号。或者它可以处理非标准algorythm(至少据我所知openssl有非标准存储格式的私钥)
我使用openssl 0.9.8h。另一方面的smime消息由“webMethods EDI version 6.5”软件(它是处理EDI消息的AS2服务器)组成。
这个错误的原因是什么?
你能建议另一个smime工具来尝试吗?
谢谢。我已经解决了这个问题,并在这里描述它:http://stackoverflow.com/questions/3975612/openssl-treats-smime-message-with-content-type-application-edi-as-text-and-chan – Donz 2010-12-07 13:13:53
@Donz ,感谢您的反馈和您的链接,如果我遇到'Application/EDI'问题,我会记住它;-) – Babelabout 2010-12-08 07:41:20