SET

A SET contient une série non ordonnée de champs d’un ou plusieurs types. Il est encodé en triplet TLV qui commence par un octet tag de 0x31. L’exemple suivant, adapté à partir de la rubrique ASN.1 encodé en 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 octet pour spécifier la longueur du contenu. S’il s’agit de plus de 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