SET

Set contiene una serie desordenada de campos de uno o varios tipos. Se codifica en un triplete TLV que comienza con un byte tag de 0x31. En el ejemplo siguiente, adaptado del tema ASN.1 con codificación CMC, se muestra cómo se codifica un atributo ClientId en una estructura de datos SET. El atributo se puede especificar mediante la interfaz IX509AttributeClientId.

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 set contiene menos de 128 bytes, el campo Longitud del triplete TLV solo requiere un byte para especificar la longitud del contenido. Si tiene más de 127 bytes, el bit 7 del campo Longitud se establece en 1 y los bits del 6 al 0 especifican el número de bytes adicionales usados para identificar la longitud del contenido. Para obtener más información, vea Longitud codificada y Bytes de valor.

Sistema de tipo ASN.1

Codificación DER de tipos ASN.1