获取 TPM 的 public EK:leading/trailing 位的含义

Getting TPM's public EK: meaning of leading/trailing bits

我一直在尝试使用两种方法获取 TPM 的 EK 的 public 密钥: 使用 Hyper-V 的 Get-PlatformIdentifier 我得到以下结果:

 3082010a0282010100<EKPUBLICKEY>0203010001

使用 Urchin 的 C 库:

 <EKPUBLICKEY>

谁能解释一下 3082010a02820101000203010001 mean/encode 的作用?

它是 ASN.1 类型格式的 DER 编码。

例如,3082010A0282010100<KEY>0203010001

30:表示SEQUENCE类型

82010A:表示长度为010A的SEQUENCE(其中82大于80,表示2个字节的长度信息。)

02: 整数类型

820101:表示0101(十进制257)长度的整数

00<KEY>:整数取模,00用来表示正整数,减去00和256字节,所以取模为256字节

最后指数

0203010001:02整数代表3010001 Exponent的长度,03