SET

Un set contient une série non triée de champs d’un ou de plusieurs types. Il est encodé dans un triplet TLV qui commence par un octet Tag de 0x31. L’exemple suivant, adapté de la rubrique ASN.1 encodé CMC , montre comment un attribut ClientId est encodé dans une structure de données SET . L’attribut peut être spécifié à l’aide de l’interface 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 contient moins de 128 octets, le champ Longueur du triplet TLV ne nécessite qu’un seul octet pour spécifier la longueur du contenu. S’il est supérieur à 127 octets, le bit 7 du champ Longueur est défini sur 1 et les bits 6 à 0 spécifient le nombre d’octets supplémentaires utilisés pour identifier la longueur du contenu. Pour plus d’informations, consultez Longueur encodée et Octets de valeur.

Système de type ASN.1

Encodage DER des types ASN.1