Compartir a través de


PONER

Un SET contiene una serie desordenada de campos de uno o varios tipos. Se codifica en un triplete TLV que comienza con una etiqueta byte de 0x31. En el ejemplo siguiente, adaptado del tema de CMC codificado asN.1, se muestra cómo se codifica un atributo clientId de en una estructura de datos set . El atributo se puede especificar mediante la interfazIX509AttributeClientId.

31 59                                     ; SET (59 Bytes)
   30 57                                  ; SEQUENCE (57 Bytes)
      06 09                               ; OBJECT_ID (9 Bytes)
      |  2b 06 01 04 01 82 37 15  14      ;   1.3.6.1.4.1.311.21.20 
      31 4a                               ; SET (4a Bytes)
         30 48                            ; SEQUENCE (48 Bytes)
            02 01                         ; INTEGER (1 Bytes)
            |  09
            0c 23                         ; UTF8_STRING (23 Bytes)
            |  76 69 63 68 33 64 2e 6a    ;   vich3d.j
            |  64 6f 6d 63 73 63 2e 6e    ;   domcsc.n
            |  74 74 65 73 74 2e 6d 69    ;   ttest.mi
            |  63 72 6f 73 6f 66 74 2e    ;   crosoft.
            |  63 6f 6d                   ;   com
            0c 15                         ; UTF8_STRING (15 Bytes)
            |  4a 44 4f 4d 43 53 43 5c    ;   JDOMCSC\
            |  61 64 6d 69 6e 69 73 74    ;   administ
            |  72 61 74 6f 72             ;   rator
            0c 07                         ; UTF8_STRING 

Si el SET contiene menos de 128 bytes, el campo longitud del triplete TLV requiere solo un byte para especificar la longitud del contenido. Si es más de 127 bytes, el bit 7 del campo Length se establece en 1 y bits 6 a 0 especifica el número de bytes adicionales que se usan para identificar la longitud del contenido. Para obtener más información, vea Longitud codificada y Bytes de valor.

sistema de tipos ASN.1

codificación DER de tipos ASN.1