Požadavek cnthmac
Účel a dopady
Spočítá HMAC (autentizační kód zprávy) vstupních dat pomocí zvoleného klíče a hashovací funkce. Bez vedlejších účinků.
Dostupnost, kontext, oprávnění apod.
Dostupné každému přihlášenému uživateli, bez zvláštních omezení.
XML požadavek (syntax + popis)
<request>
<cnthmac
hash="{string}"
key-format="plain|base64|unicode|hex|url"
key="{string}"
input="plain|base64|unicode|hex|url|jwt"
part="{number}"
data="{string}"
output="{string}"
>
{string}
</cnthmac>
</request>
Parametry a pravidla (atributy, potomci)
Zpracování cnthmac sdílí jeden dispečer s cnthash, encrypt a decrypt:
hash- Hashovací funkce, na které je HMAC postaven. (typ:string; nepovinný; výchozí:sha256)key-format- Formát dodaného klíče. (typ:enum; nepovinný; výchozí: rozpoznání automaticky podle obsahu – base64/hex, pokud odpovídá, jinak plain)key- Klíč pro výpočet HMAC. (typ:string; nepovinný)input- Formát vstupních dat:plain|base64|unicode|hex|url|jwt. (typ:enum; nepovinný; výchozí:plain) – hodnotajwtv dosavadní dokumentaci chyběla.part- Jen sinput="jwt": pořadí segmentu JWT tokenu k dekódování. (typ:number; nepovinný) – v dosavadní dokumentaci chyběl.data- Vstupní data. (typ:string; nepovinný) – chybí-li, použije se obsah samotného uzlu<cnthmac>. Dosavadní dokumentace uváděladatajako jediný způsob zadání, možnost obsahu uzlu chyběla.output- Řetězec po sobě jdoucích konverzí výstupního formátu, stejně jako ucnthash. (typ:string; nepovinný; výchozí:hex) – dosavadní dokumentace uváděla výchozíbase64; skutečná výchozí hodnota pro HMAC jehex.
Příklady požadavku
(Zatím bez ověřeného příkladu.)
Zpracování a vedlejší účinky
Stejné rozlišení chyb jako u cnthash: "Nespravny parametr" (vstup) vs. "Pri provadeni doslo k chybe" (výpočet).
XML odpověď (syntax + popis)
<response>
<cnthmac type="ok" value="{string}"/>
</response>
nebo (byla-li vstupní data zadána obsahem uzlu):
<response>
<cnthmac type="ok">{string}</cnthmac>
</response>
Zásadní oprava: dosavadní dokumentace uváděla atribut value jako jediný a vždy přítomný způsob vrácení výsledku – ve skutečnosti (stejně jako u cnthash/encrypt/decrypt) se value použije jen tehdy, byla-li vstupní data zadána atributem data; jinak se výsledek vrátí jako přímý textový obsah <cnthmac>.
Příklady odpovědi
(Zatím bez ověřeného příkladu.)
Chyby a reakce
type="error" detail="Nespravny parametr"– neplatný/chybějící vstupní atribut nebo chybějící data.type="error" detail="Pri provadeni doslo k chybe"– selhání samotného výpočtu.