Přejít na obsah
Skip to main content

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) – hodnota jwt v dosavadní dokumentaci chyběla.
  • part - Jen s input="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ěla data jako 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 u cnthash. (typ: string; nepovinný; výchozí: hex) – dosavadní dokumentace uváděla výchozí base64; skutečná výchozí hodnota pro HMAC je hex.

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.

Související požadavky​