如何解决未能读取s / mime格式大尺寸的PKCS7签名文件
| 我想用s / mime格式验证签名文件,并且pkcs7文件大小为500MB。 openssl smime -verify -in test.pk7-通知DER 读取S / MIME消息时出错 715956256:错误:07069041:内存缓冲区例程:BUF_MEM_grow_clean:malloc失败:buffer.c:152: 715956256:错误:0D06B041:asn1编码例程:ASN1_D2I_READ_BIO:malloc失败:a_d2i_fp.c:229: 内存使用有限(例如200MB)可能吗?解决方法
不幸的是,OpenSSL会将整个文件加载到内存中。
如果可能的话,切换PKCS#7分离签名将大大减少内存需求。这意味着将数据和签名作为2个单独的文件。
, 我在使用1.4GB加密文件时遇到了这个问题,在32位主机上,它在mallocs上失败,在64位上通过了。
, 正如Mathias提到的,如果签名分离,则可以在OpenSSL中对数据进行流处理。
现在,如果您的签名未分离,您仍然应该可以自己分离它。 PKCS#7格式有据可查。 asn1c可以分块工作,因此您应该可以使用它。
当然,正确的解决方案是首先获得独立的签名。
, 我使用了NSS库,该库支持基于块的处理,并且运行良好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。