Verifikace doplňků

Pro zajištění bezpečnosti a autenticity komunikace mezi platformou Upgates a vaším doplňkem využíváme digitální podpisy. 

Co je to digitální podpis?

Digitální podpis je způsob, jak ověřit, že daná data:

  • skutečně pocházejí od vás,
  • nebyla cestou nijak upravena,
  • jsou aktuální a důvěryhodná.

Data podepisujeme privátním klíčem a vy si je můžete zkontrolovat veřejným klíčem metodou OPENSSL_ALGO_SHA256. Podpis můžete nalézt v každém těle požadavku pod klíčem signature_v2.

Kdy a co se podepisuje?

Každý důležitý požadavek, který posíláte na váš doplněk, obsahuje:

  • Vlastní data (např. informace o aktivaci doplňku),
  • Klíč signature_v2 s digitálním podpisem.

Příklady podepisovaných událostí:

Doplňující informace

  • Z podepisovaných dat je vyjmut current_admin_language.
  • Jednotlivá podepisovaná data naleznete u každého endpointu.
  • Doporučujeme vždy načítat aktuální veřejný klíč při ověřování podpisu a neukládat jej u sebe pro pozdější použití. Důvodem je možnost změny klíčů.

Příklad ověření podpisu v PHP

{} Signature PHP

$data = implode(";",[...]);
$signature = 'a0e0a3e7689bd4c80e4d6ffcccb05235b864e1d0';
$signaturePublicKey = file_get_contents("https://files.upgates.com/addons/signature/api.signature.pub.key");
$verify = openssl_verify($data, base64_decode($signature), $signaturePublicKey, OPENSSL_ALGO_SHA256);
        

Doporučení pro vývojáře

  • Neukládejte veřejný klíč natrvalo. Při každém požadavku jej načtěte z oficiální URL.
  • Pečlivě dodržujte pořadí a výčet podepisovaných položek – specifikaci najdete u každého endpointu.
  • Validaci podpisu provádějte vždy před zpracováním požadavku.
Na této stránce

Další zdroje informací

Facebook Forum

Výměna zkušeností, rady a tipy mezi provozovateli e-shopů na systému Upgates.

Přejít do fóra

Akademie

Získejte znalosti od našich specialistů na marketing, obchod, právo a podnikání.

Přejít do akademie

Novinky z Blogu

Co nového jsme pro vás připravili nebo chystáme najdete na blogu.

Přejít do blogu

Nepodařilo se Vám najít tu správnou odpověď?

Kontaktujte naši technickou podporu, která je tu pro vás od pondělí do pátku 8:00 až 16:00 hod.

Zákaznická podpora