是否使用OpenSSL解码/提取smime.p7m文件内容(包含嵌入文件的电子邮件)?

是否使用OpenSSL解码/提取smime.p7m文件内容(包含嵌入文件的电子邮件)?,openssl,smime,Openssl,Smime,我们有一个旧的进程(VBScript),它读取一个公共邮箱并将某些电子邮件处理到数据库中 新法规要求所有带有附件的邮件现在都进行数字签名 该过程现在只提取一个文件(smime.p7m)。使用基于GUI的查看器,我可以看到嵌入的文件并毫无问题地提取它们。然而,我真正需要的是一个基于命令行的提取器,它将写出嵌入的文件(PDF、文档、XLS)——它们不是加密的,只是签名的。我使用一台没有证书的笔记本电脑进行了测试,并用前面提到的查看器打开了smime.p7m文件 看起来OpenSSL将对其进行解码/提

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

新法规要求所有带有附件的邮件现在都进行数字签名

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

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


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

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

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

对于仅签名的邮件,您可以使用

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

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

不能说我做到了。在这个环境(军事站点)中,仅仅试图让OpenSSL工作起来是件烦琐的事,我从未真正成功过。最后,编写一个新程序来完成这项工作,利用Chilkat库很快完成了这项工作。不过,谢谢你的主意。这很有趣。我很高兴今天找到了这个。