7.2. Validating a CWT (Convalida di un CWT)
7.2. Validating a CWT (Convalida di un CWT)
Durante la convalida di un CWT si eseguono i passi seguenti. L'ordine dei passi non è significativo nei casi in cui non vi sono dipendenze tra gli ingressi e le uscite dei passi. Se uno qualsiasi dei passi elencati fallisce, il CWT DEVE essere rifiutato, cioè trattato dall'applicazione come ingresso non valido.
-
Verificare che il CWT sia un oggetto CBOR valido.
-
Se l'oggetto inizia con il tag CBOR CWT, rimuoverlo e verificare che uno dei tag CBOR COSE lo segua.
-
Se l'oggetto è taggato con uno dei tag CBOR COSE, rimuoverlo e usarlo per determinare il tipo del CWT, COSE_Sign/COSE_Sign1, COSE_Mac/COSE_Mac0 o COSE_Encrypt/COSE_Encrypt0. Se l'oggetto non ha un tag CBOR COSE, il tipo di messaggio COSE è determinato dal contesto applicativo.
-
Verificare che il COSE Header risultante includa solo parametri e valori la cui sintassi e semantica sono entrambe comprese e supportate oppure che sono specificati come da ignorare quando non compresi.
-
A seconda che il CWT sia firmato, sottoposto a MAC o crittografato, vi sono tre casi:
-
Se il CWT è un COSE_Sign/COSE_Sign1, seguire i passi specificati nella Sezione 4 di [RFC8152] ("Signing Objects") per convalidare un oggetto COSE_Sign/COSE_Sign1. Sia il Message il payload COSE_Sign/COSE_Sign1.
-
Altrimenti, se il CWT è un COSE_Mac/COSE_Mac0, seguire i passi specificati nella Sezione 6 di [RFC8152] ("MAC Objects") per convalidare un oggetto COSE_Mac/COSE_Mac0. Sia il Message il payload COSE_Mac/COSE_Mac0.
-
Altrimenti, se il CWT è un oggetto COSE_Encrypt/COSE_Encrypt0, seguire i passi specificati nella Sezione 5 di [RFC8152] ("Encryption Objects") per convalidare un oggetto COSE_Encrypt/COSE_Encrypt0. Sia il Message il plaintext risultante.
-
-
Se il Message inizia con un tag CBOR COSE, allora il Message è un CWT che è stato oggetto di operazioni annidate di firma, MAC o crittografia. In questo caso, tornare al Passo 1, usando il Message come CWT.
-
Verificare che il Message sia una mappa CBOR valida; sia il CWT Claims Set questa mappa CBOR.