客户端目前正在使用OpenSSL加密文件:
C:\openssl\bin"\openssl.exe smime -encrypt -des3 -in "%1.xml" -out "%1.xml.cip" "certificate.pem" >> D:\Log\log_encrypt.txt
if errorlevel 0 (del "%1.csv")
现在他们想做这样的事情: ERP系统 - >生成工资单 - >使用OpenSSL SMIME进行加密
所以我的第一个想法就是从ERP系统上面运行bat命令。但问题是客户端并不想在磁盘上安装未加密的工资单文件(尽管他们已经在使用其他文件执行此操作:保存未加密 - >加密 - >删除未加密)。所以我必须编写一个直接从ERP获取数据的应用程序(这不是问题),使用OpenSSL加密,并保存加密文件。
我找到了一个c#wrapper openssl-net:https://github.com/openssl-net/openssl-net
说实话,我不知道如何使用客户端证书和包装器实现上述OpenSSL smime des3加密。有什么帮助吗?文档或什么?
答案 0 :(得分:0)
您可以创建相同的S / MIME加密结果,该结果与OpeSSL Library for .NET的openssl.exe smime -encrypt
产生的结果相同,并具有以下代码段:
DidiSoft.OpenSsl.Cms.OpenSslSmime smime = new DidiSoft.OpenSsl.Cms.OpenSslSmime();
smime.EncryptFile("Input.txt", "certificate.pem", @"encrypted.dat", CmsCipherAlgorithm.Des3);
免责声明:我为DidiSoft工作