我对加密几乎是新手。到目前为止,我成功生成了一个封装的CMS文件。但在此之后,我需要使用ASN.1 DER格式对CMS签名和加密的数据文件进行编码,但不知道如何操作?请给我一些建议。
下面的我粘贴我的代码以获得更多光线;
var content = File.ReadAllBytes(@"E:\Miscellaneous\Pacs.zip");
var contentInfo1 = new ContentInfo(content);
var signedCms = new SignedCms(contentInfo1);
var cmsSigner = new CmsSigner(GetSignerCert()) { IncludeOption = X509IncludeOption.None };
signedCms.ComputeSignature(cmsSigner);
var contentInfo = new ContentInfo(signedCms.Encode());
// RSA_DES_EDE3_CBC.
var envelopedCms = new EnvelopedCms(contentInfo);
var recip1 = new CmsRecipient(
SubjectIdentifierType.IssuerAndSerialNumber,
GetRecipientCert());
envelopedCms.Encrypt(recip1);
File.WriteAllBytes(@"E:\signedfile", envelopedCms.Encode());
// need code to encode signedfile using ASN.1 DER
答案 0 :(得分:0)
EnvelopedCms.Encode()
来创建字节,但唯一的方法是使用编码方法。大约99%确定编码是 ASN.1 BER或DER。因此,您很可能已经完成了目标。