【问题标题】:Encode Data as ASN1 Blob将数据编码为 ASN1 Blob
【发布时间】:2013-07-05 11:08:41
【问题描述】:

我需要将各种二进制数据作为 blob 存储在数据库中。除了自定义格式之外,我注意到我也许可以使用 ASN.1 格式。

现在,我可以编写一个自己的ASN编码器,但在此之前我想问一下:

是否有C# 库可以轻松地将数据编码为ASN.1 格式?

我已经看到Lev Walkin blog on ASN.1,我显然可以通过互操作使用它......但我想知道 .NET 是否已经提供了一些方便的东西。

我见过 System.Security.Cryptography 命名空间,但它似乎只用于解密 ASN 数据(或多或少地获得加密证书等) )。

【问题讨论】:

  • 很有趣,非常感谢。我宁愿使用内部 .NET 库,而不是像这样的开源项目,如果这是我唯一的选择,我将自己实现一个编码器,但是 +1 以获得好的建议
  • ASN.1 是描述如何构造对象的符号和规则集。您需要选择/创建您希望用于存储数据的特定 ASN.1 结构。 IE。您不能只是将某些东西变成“ASN.1 格式”——您需要将其编码为 ASN.1 对象(basic type 或更复杂的由基本类型组成的结构)。
  • @Duncan,嗯,是的,我认为这在某种程度上暗示了......如果我不够清楚,请原谅......
  • 请注意,许多库仅提供 BER/DER 编码/解码。这不是 ASN.1 本身的意义所在。 ASN.1 是关于定义结构的(正如 Duncan 所指出的)。通常,您应该为您的特定编程环境自动生成类,并使用下面的 BER/DER(甚至 PER)解析器来读取结构。不过,如果您无法使用 BER/DER 库直接序列化您的数据,请不要花太多时间。

标签: c# cryptography asn.1


【解决方案1】:

请参阅 ITU-T (https://www.itu.int/ITU-T/asn1/links/index.htm) 的 ASN.1 工具页面,了解 ASN.1 工具(一些免费,一些商业)的精彩列表。我知道一些商业工具支持 C#。

【讨论】:

  • 感谢您的建议,还没有找到我要找的确切内容,但至少我知道非常好的地方可以看
猜你喜欢
  • 1970-01-01
  • 2011-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-20
  • 2018-06-09
  • 2012-11-20
  • 2021-11-27
相关资源
最近更新 更多