加密文件AES-128-CBC

时间:2016-01-20 16:35:15

标签: c# encryption openssl aes bouncycastle

我需要你的帮助,用C#中的框架Bouncy Castle转录OpenSSL命令。

OpenSSL命令是:

cms -encrypt -in e:\fichierBrut -binary -aes-128-cbc -outform der -out e:\ fichierBrut.pkcs7 e:\cnda.pem

使用此命令的结果:

Good File

我想在C#中使用框架转录此命令:

byte[] contenu = File.ReadAllBytes("fichierBrut");

X509Certificate2 certificat = new X509Certificate2("cnda.cer");
Org.BouncyCastle.X509.X509Certificate cert = DotNetUtilities.FromX509Certificate(certificat);
CmsProcessableByteArray cmsByteArray2 = new CmsProcessableByteArray(contenu);

CmsEnvelopedDataGenerator envDataGen = new CmsEnvelopedDataGenerator();
envDataGen.AddKeyTransRecipient(cert);

CmsEnvelopedData enveloped = envDataGen.Generate(cmsByteArray2, "2.16.840.1.101.3.4.1.2");

File.WriteAllBytes("fichierBrut.pkcs7", enveloped.GetEncoded());

结果是:

enter image description here

我与C#没有相同的结果。文件的第一部分是相同的,但结尾是不一样的。我需要找出为什么我的C#代码不会产生相同的结果。

0 个答案:

没有答案