在openssl / TLS中ASN1的需求是什么

时间:2015-03-11 09:32:13

标签: openssl asn.1

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

1 个答案:

答案 0 :(得分:2)

ASN.1都是

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

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

想想发送字符串的问题。您需要决定多种事项: - 你支持哪些角色?你支持指定它们的方式吗? - 你会使用以null结尾的字符串(ala C)吗? - 或者你会使用长度+值编码? - 或者你会假设固定长度的字符串?

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