我正在尝试实施SCEP服务,我对密码学++的经验非常有限,所以这是一场艰苦的战斗。目前我正在接受客户的证书请求,我正在解释请求。证书申请应该是CMS / PKCS#7的形式,但是我很难解释它:
尝试在.NET中解码失败:
byte [] data = Convert.FromBase64String(input_message);
SignedCms signerInfo = new SignedCms();
EnvelopedCms contentInfo = new EnvelopedCms();
signerInfo.decode(数据);
contentInfo.Decode(signerInfo.ContentInfo.Content);
contentInfo.Decrypt(); [*]
[*]:这会因CryptographicException而失败并显示消息:“找不到对象或属性”。
尝试使用BouncyCastle .NET类进行解码失败:
byte [] data = Convert.FromBase64String(input_message);
Org.BouncyCastle.Cms.CmsSignedData signedData = new CmsDignedData(data);
Org.BouncyCastle.Cms.CmsEnvelopedData ed = new CmsEnvelopedData(signedD.ContentInfo); [*]
[*]这会失败并出现“ArgumentException”和消息:“factor中的未知对象:BerTaggedObject”。
我意识到这不符合StackOverflows要求的简洁明了的问题;但我想这只是反映了我身边缺乏清晰度:-(基本上我会非常感谢有关如何在.NET中解释SCEP消息(CMS / PKCS#7)的任何提示,使用标准Windows类或BouncyCastle API;但总结一些具体问题:
感谢任何想法,想法或建议。
乔金姆