OpenSSL将内容类型为“应用程序/ EDI”的smime消息视为文本并更改换行符

问题描述 投票:0回答:1

我收到内容类型为“Application / EDI”的smime消息。它是非标准的mime类型,内容应该被解释为二进制。但是,验证签名期间的OpenSSL会将其视为文本并将换行符从“\ n”更改为“\ r \ n”(根据内容类型“text”的规范需要)。因此摘要变得错误并且验证失败。

有没有办法让openssl不改变原始消息中的任何内容?参数'-binary'不适用于任何版本(我尝试过0.9.7,0.9.8,1.0.0)。

cryptography openssl digital-signature edi smime
1个回答
4
投票

好的,回答我自己的问题。

我将输入数据拆分为两个单独的文件,内容和签名删除不必要的元数据。之后我将mime类型的签名更改为application/pkcs7-mime,并且使用此命令验证成功:

openssl.exe smime -verify -inform SMIME -CAfile caCert.pem -certfile cert.pem -in signature.txt -content content.txt

-inform更改为PEM的变体也可以,但签名必须没有Content-xxx标题

© www.soinside.com 2019 - 2024. All rights reserved.