Поделиться через


BMPString

Тип данных BMPString ASN.1, называемый UNICODE_STRING в API регистрации сертификатов, закодирован в триплет TLV, который начинается с байта тега 0x1E. В следующем примере, адаптированном из раздела ASN.1 в кодировке CMC , показана кодировка для расширения 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 требуется только один байт для указания длины содержимого. Если длина строки превышает 127 байт, бит 7 поля Длина имеет значение 1, а биты от 6 до 0 указывают количество дополнительных байтов, используемых для определения длины содержимого. Дополнительные сведения см. в разделе Закодированная длина и значение байт.

Система типов ASN.1

Кодировка DER типов ASN.1