You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASiC ZIP归档加密后解密为空的异常问题求助

问题分析与解决方案

核心原因

你遇到的问题大概率是OpenSSL CMS默认以文本模式处理输入输出,导致二进制格式的ZIP/ASiC-E容器在加密过程中被损坏——文本模式会自动转换换行符(比如Windows下的CRLF转LF),破坏ZIP文件的二进制结构,最终解密后只有残缺的ZIP头,内容丢失。

修正后的命令

在加密和解密命令中添加-binary参数,强制OpenSSL以二进制模式处理文件,避免格式转换:

加密命令

openssl cms -encrypt -binary -in container.zip -out encrypted_data.cms -recip certificate.pem -outform PEM -aes-128-cbc

解密命令

openssl cms -decrypt -binary -inform PEM -in encrypted_data.cms -out decrypted_output.zip -inkey privateKey.pem

注意:解密时-recip参数是多余的,因为私钥已经明确指定了身份,去掉不影响结果,保留也不会出错。

额外验证步骤

  • 先确认原始的container.zip/container.asice是完整可用的——手动解压验证所有文件(mimetype、file1.xml、META-INF下的清单和签名文件)都存在且正常。
  • 加密后检查encrypted_data.cms的文件大小,合理的大小应该和原ZIP文件接近(加密后会略大)。
  • 解密后对比decrypted_output.zip和原文件的大小,若一致则说明结构未损坏,可正常解压。

内容的提问来源于stack exchange,提问作者Sleepy Ninja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 11:24:56