7.2. Validating a CWT (Validieren eines CWT)
7.2. Validating a CWT (Validieren eines CWT)
Beim Validieren eines CWT 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. Schlägt einer der aufgeführten Schritte fehl, MUSS das CWT abgelehnt werden, das heißt von der Anwendung als ungültige Eingabe behandelt werden.
-
Verifizieren Sie, dass das CWT ein gültiges CBOR-Objekt ist.
-
Beginnt das Objekt mit dem CWT-CBOR-Tag, entfernen Sie es und verifizieren Sie, dass ihm einer der COSE-CBOR-Tags folgt.
-
Ist das Objekt mit einem der COSE-CBOR-Tags versehen, entfernen Sie ihn und nutzen Sie ihn, um den Typ des CWT zu bestimmen: COSE_Sign/COSE_Sign1, COSE_Mac/COSE_Mac0 oder COSE_Encrypt/COSE_Encrypt0. Hat das Objekt keinen COSE-CBOR-Tag, wird der COSE-Nachrichtentyp aus dem Anwendungskontext bestimmt.
-
Verifizieren Sie, dass der resultierende COSE Header nur Parameter und Werte enthält, deren Syntax und Semantik sowohl verstanden und unterstützt werden oder die als bei Nichtverständnis zu ignorieren spezifiziert sind.
-
Je nachdem, ob das CWT signiert, MAC-geschützt oder verschlüsselt ist, gibt es drei Fälle:
-
Wenn das CWT ein COSE_Sign/COSE_Sign1 ist, befolgen Sie die in Abschnitt 4 von [RFC8152] („Signing Objects“) für die Validierung eines COSE_Sign/COSE_Sign1-Objekts angegebenen Schritte. Sei die Message die COSE_Sign/COSE_Sign1-Payload.
-
Andernfalls, wenn das CWT ein COSE_Mac/COSE_Mac0 ist, befolgen Sie die in Abschnitt 6 von [RFC8152] („MAC Objects“) für die Validierung eines COSE_Mac/COSE_Mac0-Objekts angegebenen Schritte. Sei die Message die COSE_Mac/COSE_Mac0-Payload.
-
Andernfalls, wenn das CWT ein COSE_Encrypt/COSE_Encrypt0-Objekt ist, befolgen Sie die in Abschnitt 5 von [RFC8152] („Encryption Objects“) für die Validierung eines COSE_Encrypt/COSE_Encrypt0-Objekts angegebenen Schritte. Sei die Message der resultierende Klartext.
-
-
Beginnt die Message mit einem COSE-CBOR-Tag, handelt es sich um ein CWT, das Gegenstand verschachtelter Signatur-, MAC- oder Verschlüsselungsoperationen war. Kehren Sie in diesem Fall zu Schritt 1 zurück und verwenden Sie die Message als CWT.
-
Verifizieren Sie, dass die Message eine gültige CBOR-Map ist; das CWT Claims Set sei diese CBOR-Map.