【问题标题】:What is the need of ASN1 in openssl/TLSopenssl/TLS中的ASN1需要什么
【发布时间】:2015-03-11 09:32:13
【问题描述】:

我知道这是一种菜鸟问题,但仍然无法理解,ASN1 需要什么?我知道它用于描述 x509 证书等数字对象。为什么我们要描述它而不是直接使用 AES 加密它并将其发送到接收器。在它之上他们使用 DER 对其进行编码???完全困惑,不知道使用它的确切商业原因......

【问题讨论】:

标签: openssl asn.1


【解决方案1】:

ASN.1 都是

  • 一种数据规范语言,描述类型和数据值。
  • 以适合发送/存储/读取/接收的格式对这些数据值进行编码/解码的多种方式。 (请注意,编码/解码并不意味着加密/解密)。其中一种格式是 DER。

对于您需要发送/存储的任何内容,您都需要定义一种格式(即使它们是原始字节,如果要发送的数据具有复杂的结构,则更是如此)。

想想发送字符串的问题。您需要决定多件事: - 你支持什么字符集?您是否支持指定它们的方式? - 你会使用以空字符结尾的字符串(ala C)吗? - 或者你会使用长度+值编码吗? - 或者你会假设固定长度的字符串?

ASN.1 的 DER(或 BER 或 PER 或 XER...)是决定​​所有可使用 ASN.1 语法描述的数据值的方法。

【讨论】:

  • DER 特别具有对给定值使用单一编码的优势,这意味着如果值相同,两个值的编码哈希值将相同。相比之下,BER 的编码器选项使情况并非如此。
猜你喜欢
  • 2016-05-16
  • 1970-01-01
  • 2012-12-03
  • 2014-07-28
  • 2023-04-02
  • 2017-01-17
相关资源
最近更新 更多