如何使用openssl-net包装器?

时间:2016-07-12 12:51:51

标签: c# openssl

客户端目前正在使用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加密。有什么帮助吗?文档或什么?

1 个答案:

答案 0 :(得分:0)

您可以创建相同的S / MIME加密结果,该结果与OpeSSL Library for .NETopenssl.exe smime -encrypt产生的结果相同,并具有以下代码段:

DidiSoft.OpenSsl.Cms.OpenSslSmime smime = new DidiSoft.OpenSsl.Cms.OpenSslSmime();
smime.EncryptFile("Input.txt", "certificate.pem", @"encrypted.dat", CmsCipherAlgorithm.Des3);

免责声明:我为DidiSoft工作