【问题标题】:What does SignedCms.decode() do in c#SignedCms.decode() 在 c# 中做了什么
【发布时间】:2019-02-11 08:32:49
【问题描述】:

我想在 C++ 中实现 SignedCms.decode() 函数,但我不知道它像代码一样做什么?我所知道的是 SignedCms.encode() 生成 BER 编码字节,我什至不确定。 任何帮助是极大的赞赏。 提前致谢。

【问题讨论】:

  • 有关 SignedCms 类和 Decode 方法的文档可以在 here 找到,如果您想查看源代码以及它到底是做什么的,您可以使用许多 C# 反编译器之一,例如 JetBrains @987654322 @ 或 Telerik JustDecompile
  • 感谢我阅读了文档,但找不到使用的编码,所以我想查看代码以了解链接。
  • 既然你问的是高级别的,SignedCms 是来自tools.ietf.org/html/rfc5652 的签名数据的表示。解码读取现有的 BER 编码签名数据有效负载。

标签: c# c++ openssl pkcs#7


【解决方案1】:

我不建议您实现自己的 SignedCms.decode,因为这将涉及实现 ASN.1 阅读器,这是一项复杂的任务。

如果您使用的是 Windows 操作系统,我建议您看看这个:CryptMsgOpenToDecode function

【讨论】:

  • 谢谢问题是代码是跨平台的,openssl库不提供ASN.1阅读器吗?
  • 是的 openssl 确实包含 ASN1 解析器。但是,即使在解析 ASN1 之后,您也需要从 ASN1 中提取 SignedCms 信息,我不知道 openssl 是否支持。
猜你喜欢
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 2010-09-20
  • 2010-09-19
  • 2010-12-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多