0

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

有什么方法可以让 openssl 不更改原始消息中的任何内容?参数 '-binary' 不适用于任何版本(我尝试了 0.9.7、0.9.8、1.0.0)。

4

1 回答 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标题

于 2010-10-27T14:45:48.360 回答