早上好, 我将VirtualBox VM与Win7 PRO OS一起使用。和Delphi7环境。 我收到一些以P7M格式签名的XML文件(这些文件是发票),但是 要读取文件,我必须删除签名。为此,我编写了一个使用命令
删除符号的应用程序c:\ Lavoro \ openssl.exe smime -verify -noverify -in“ C:\ App \ IT10209790152_4OON8.xml.P7M”-通知DER -out“ C:\ App \ IT10209790152_4OON8.xml”
此命令包含在进程“ ShellExecuteEx(@SEInfo)...”中。
这样做一直很好(退出代码= 0),但是昨天该进程返回了退出代码2。
我尝试在Cmd窗口中启动相同的命令,结果错误为“警告:无法打开配置文件:/usr/local/ssl/openssl.cnf
读取S / MIME消息时出错
3760:错误:0D07207B:asn1编码例程:ASN1_get_object:标头太长:。\ crypto \ asn1 \ asn1_lib.c:157:“
如果我很清楚,错误2是在磁盘上找不到资源时发生的:openssl.cnf在哪里? 是否需要设置变量OPENSSL_CONF?但是在命令行中,有完整的路径来检索文件OpenSsl.exe! 我尝试重新安装OpenSsl,并使用新的exe和dll下载文件zip,但结果相同。 我试图将openssl命令中的信息从“ DER”更改为“ PEM”(P7M文件为文本格式),但是结果是相同的。 在Internet上的一篇文章中,有人写了一个有关如何解密P7M文件的示例,而OpenSsl的目录是“ C:\ Openssl \ bin \ Openssl.exe smime -verify ...”:是否存在可创建OpenSsl的安装广告OpenSsl目录?
我听不懂。 可能是什么原因引起的? 感谢您的解释。 最好的祝福 安东尼奥·比安卡