4

我们有一个旧进程 (VBScript),它读取一个公共邮箱并将某些电子邮件处理到数据库中。

新法规现在对所有带有附件的邮件进行数字签名。

该过程现在只提取一个文件 (smime.p7m)。使用基于 GUI 的查看器,我可以看到嵌入的文件并毫无问题地提取它们。但是,我真正需要的是一个基于命令行的提取器,它将写出嵌入的文件(PDF、DOC、XLS)——它们没有加密,只是签名。我使用没有证书的笔记本电脑对此进行了测试,只需使用上述查看器打开 smime.p7m 文件。

看起来 OpenSSL 将对此进行解码/提取,并且有人设法获得了在 Windows 上编译的版本。但是,对可执行文件的大量试错测试令人沮丧,因为我找不到正确的标志组合来只说“打开 smime.p7m 文件并写出您找到的所有嵌入文件”。在所有选项之后,“openssl smime”似乎总是想要一个“cert.pem”,但我没有。

我错过了什么?提前致谢。

4

2 回答 2

5

您是否尝试过 openssl 的“-noverify”选项?

对于仅签名的消息,您可以使用

openssl smime -verify -in <signed.eml> -noverify -out /tmp/blob

然后,您可以使用类似 RFC822 的解析器从“blob”中获取正文和附件。这意味着您的解析器必须能够编码像quoted-printable 和base64。

于 2009-10-08T19:17:10.293 回答
-4

看起来唯一可用的选项是使用 Chilkat 的库编写一个简单的程序。这个选项的成本是 149 美元或 289 美元,具体取决于每个开发人员的许可类型,但至少它是免版税的。

于 2009-01-15T15:54:22.200 回答