1

我对密码学很陌生。到目前为止,我已经成功生成了一个封装的 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
4

1 回答 1

1

EnvelopedCms.Encode()指定创建字节,但唯一的方法是使用编码方法。大约 99% 的确定该编码ASN.1 BER 或 DER。所以很有可能你已经完成了你的目标。

于 2013-11-06T17:10:28.770 回答