首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么验证smime签名失败?

为什么验证smime签名失败?
EN

Stack Overflow用户
提问于 2012-08-27 06:05:08
回答 1查看 1.3K关注 0票数 2

我收到了一封带有签名的电子邮件,我正在尝试核实。

我正在使用openssl openssl smime -inform SMIME -CAfile all.pem -verify -in signed.eml检查,它给出了错误:

代码语言:javascript
复制
4144:error:0D07209B:asn1 encoding routines:ASN1_get_object:too long:asn1_lib.c:142:
4144:error:0D068066:asn1 encoding routines:ASN1_CHECK_TLEN:bad object header:tasn_dec.c:1302:
4144:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:379:Type=X509_SIG
4144:error:21071069:PKCS7 routines:PKCS7_signatureVerify:signature failure:pk7_doit.c:978:
4144:error:21075069:PKCS7 routines:PKCS7_verify:signature failure:pk7_smime.c:312:

在谷歌搜索了一段时间后,这第一个似乎是asn.1结构的错误。但是运行openssl asn1parse -i -in sig.txt (sig.txt只是来自之前signed.eml的签名)没有错误,并且很好地显示了ASN.1树(IMHO)。

作为附注:该电子邮件在MS Outlook2010中显示为已成功验证。

你知道签名可能有什么问题吗?或者我在这里遇到了openssl的哪些违规行为?除了openssl之外,还有没有其他工具来检查签名(以排除openssl问题)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-31 19:38:35

好的,在openssl mailing list的帮助下

这是asn.1结构的错误。签名格式不正确。这不会对asn1parse造成问题,但当OpenSSL尝试验证它时就会有问题。

它没有合适的DigestInfo结构,只有原始的SHA1散列,这违反了PKCS#1规范中提到的DigestInfo方案。

Outlook (和其他客户端)似乎可以容忍原始表单,而openssl (和Thunderbird和其他客户端)则不能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12134271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档