我必须使用PKCS签名并加密消息:
EnvelopedCms envelopedCms = ...
// Add recipients
envelopedCms.Encrypt(recip1);
//
msg = envelopedCms.Encode();
我需要以下格式的结果:
-----BEGIN PKCS7-----
base64 encoded msg
-----END PKCS7-----
您知道如何在c#/ .net?
中以此格式导出由于
答案 0 :(得分:0)
这是你需要的吗? (来自this post)
SignedCms signedCms = new SignedCms();
resultString = resultString.Replace("\n", "").Replace("-----BEGIN PKCS7-----", "").Replace("-----END PKCS7-----", "");
signedCms.Decode(Convert.FromBase64String(resultString));
要在C#.NET中将字符串编码为base64字符串,您可以这样做: (我已经添加了这个,因为你的问题不清楚,但状态" base64编码的msg")
// Get the bytes.
var bytes = System.Text.Encoding.UTF8.GetBytes(yourString);
return System.Convert.ToBase64String(bytes);