我需要你的帮助,用C#中的框架Bouncy Castle转录OpenSSL命令。
OpenSSL命令是:
cms -encrypt -in e:\fichierBrut -binary -aes-128-cbc -outform der -out e:\ fichierBrut.pkcs7 e:\cnda.pem
使用此命令的结果:
我想在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());
结果是:
我与C#没有相同的结果。文件的第一部分是相同的,但结尾是不一样的。我需要找出为什么我的C#代码不会产生相同的结果。