7.1. Creating a CWT (Erstellen eines CWT)
7.1. Creating a CWT (Erstellen eines CWT)
Um ein CWT zu erstellen, werden die folgenden Schritte ausgeführt. Die Reihenfolge der Schritte ist nicht maßgeblich, sofern keine Abhängigkeiten zwischen den Eingaben und Ausgaben der Schritte bestehen.
-
Erstellen Sie ein CWT Claims Set mit den gewünschten Claims.
-
Sei die Message die binäre Darstellung des CWT Claims Set.
-
Erstellen Sie einen COSE Header mit der gewünschten Menge von Header Parameters. Der COSE Header MUSS gemäß der Spezifikation [RFC8152] gültig sein.
-
Je nachdem, ob das CWT signiert, MAC-geschützt oder verschlüsselt ist, gibt es drei Fälle:
-
Wenn das CWT signiert ist, erstellen Sie ein COSE_Sign/COSE_Sign1-Objekt mit der Message als COSE_Sign/COSE_Sign1-Payload; alle in [RFC8152] zum Erstellen eines COSE_Sign/COSE_Sign1-Objekts angegebenen Schritte MÜSSEN befolgt werden.
-
Andernfalls, wenn das CWT MAC-geschützt ist, erstellen Sie ein COSE_Mac/COSE_Mac0-Objekt mit der Message als COSE_Mac/COSE_Mac0-Payload; alle in [RFC8152] zum Erstellen eines COSE_Mac/COSE_Mac0-Objekts angegebenen Schritte MÜSSEN befolgt werden.
-
Andernfalls, wenn das CWT ein COSE_Encrypt/COSE_Encrypt0-Objekt ist, erstellen Sie ein COSE_Encrypt/COSE_Encrypt0 mit der Message als Klartext für das COSE_Encrypt/COSE_Encrypt0-Objekt; alle in [RFC8152] zum Erstellen eines COSE_Encrypt/COSE_Encrypt0-Objekts angegebenen Schritte MÜSSEN befolgt werden.
-
-
Wenn eine verschachtelte Signatur-, MAC- oder Verschlüsselungsoperation ausgeführt wird, sei die Message das getaggte COSE_Sign/COSE_Sign1-, COSE_Mac/COSE_Mac0- oder COSE_Encrypt/COSE_Encrypt0-Objekt, und kehren Sie zu Schritt 3 zurück.
-
Falls die Anwendung es erfordert, stellen Sie dem COSE-Objekt den passenden COSE-CBOR-Tag voran, um den Typ des COSE-Objekts anzugeben. Falls die Anwendung es erfordert, stellen Sie dem COSE-Objekt den CWT-CBOR-Tag voran, um anzuzeigen, dass das COSE-Objekt ein CWT ist.