BMPString

ASN.1 BMPString 数据类型(在证书注册 API 中称为 UNICODE_STRING )被编码为以 标记 字节0x1E开头的 TLV 三元组。 以下示例改编自 CMC 编码 ASN.1 主题,演示 TemplateName 扩展的编码。 可以使用 IX509ExtensionTemplateName 接口指定名称。 扩展的对象标识符为 1.3.6.1.4.1.311.13.2.1。

06 0a                              ; OBJECT_ID (a Bytes)
|  2b 06 01 04 01 82 37 0d  02 01  ;   1.3.6.1.4.1.311.13.2.1 
31 34                              ; SET (34 Bytes)
   30 32                           ; SEQUENCE (32 Bytes)
      1e 26                        ; UNICODE_STRING (26 Bytes)
      |  00 43 00 65 00 72 00 74   ;   .C.e.r.t
      |  00 69 00 66 00 69 00 63   ;   .i.f.i.c
      |  00 61 00 74 00 65 00 54   ;   .a.t.e.T
      |  00 65 00 6d 00 70 00 6c   ;   .e.m.p.l
      |  00 61 00 74 00 65         ;   .a.t.e
      1e 08                        ; UNICODE_STRING (8 Bytes)
         00 55 00 73 00 65 00 72   ;   .U.s.e.r

如果字符串包含的字节少于 128 个字节,则 TLV 三元组的 Length 字段只需要一个字节来指定内容长度。 如果字符串超过 127 个字节,则 “长度 ”字段的第 7 位设置为 1,位 6 到 0 指定用于标识内容长度的其他字节数。 有关详细信息,请参阅 编码长度和值字节

ASN.1 类型系统

ASN.1 类型的 DER 编码