Aller au contenu principal

7.1 Creating a CWT

7.1. Creating a CWT (Création d'un CWT)

Pour créer un CWT, les étapes suivantes sont effectuées. L'ordre des étapes n'est pas significatif dans les cas où il n'y a pas de dépendances entre les entrées et les sorties des étapes.

  1. Créer un CWT Claims Set contenant les revendications souhaitées.

  2. Soit le Message la représentation binaire du CWT Claims Set.

  3. Créer un COSE Header contenant l'ensemble souhaité de Header Parameters. Le COSE Header DOIT être valide selon la spécification [RFC8152].

  4. Selon que le CWT est signé, MACé ou chiffré, il existe trois cas :

    • Si le CWT est signé, créer un objet COSE_Sign/COSE_Sign1 en utilisant le Message comme COSE_Sign/COSE_Sign1 Payload ; toutes les étapes spécifiées dans [RFC8152] pour la création d'un objet COSE_Sign/COSE_Sign1 DOIVENT être suivies.

    • Sinon, si le CWT est MACé, créer un objet COSE_Mac/COSE_Mac0 en utilisant le Message comme COSE_Mac/COSE_Mac0 Payload ; toutes les étapes spécifiées dans [RFC8152] pour la création d'un objet COSE_Mac/COSE_Mac0 DOIVENT être suivies.

    • Sinon, si le CWT est un objet COSE_Encrypt/COSE_Encrypt0, créer un COSE_Encrypt/COSE_Encrypt0 en utilisant le Message comme plaintext pour l'objet COSE_Encrypt/COSE_Encrypt0 ; toutes les étapes spécifiées dans [RFC8152] pour la création d'un objet COSE_Encrypt/COSE_Encrypt0 DOIVENT être suivies.

  5. Si une opération de signature, de MACage ou de chiffrement imbriquée sera effectuée, soit le Message le COSE_Sign/COSE_Sign1, COSE_Mac/COSE_Mac0 ou COSE_Encrypt/COSE_Encrypt0 balisé, et retourner à l'étape 3.

  6. Si nécessaire pour l'application, préfixer l'objet COSE avec la balise CBOR COSE appropriée pour indiquer le type de l'objet COSE. Si nécessaire pour l'application, préfixer l'objet COSE avec la balise CBOR CWT pour indiquer que l'objet COSE est un CWT.