La generazione della firma

Da It Ikoula wiki.
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

it:La generazione della firma he:הדור חתימה ru:Создание подписи ja:署名の生成 ar:توليد التوقيع zh:签名生成 ro:Generația semnături pl:Generowanie podpisu de:Die Signatur-generation nl:De handtekening generatie pt:A geração de assinatura es:La generación de una firma en:The signature generation fr:Génération de la signature


Introduzione

Durante una chiamata all'API, cOM e descritto nel WIKI di autenticazione, è necessaria una firma. Viene generato Basato su tutti i parametri forniti durante la chiamata .
Per motivi tecnici, le impostazioni di autenticazione devono per il mOM ento sempre essere trasmessi tramite il metodo HTTP GET

Esempio

// Définition des paramètres
$data["login"] = "mail@example.cOM ";
$data["password"] = "DH 4=674j_G "; // Mot de passe non chiffré
// D"autres paramètres peuvent êtres ajoutés en fonction de l"appel à l"API
// $data["autre_parametre"] = "valeur";
// $data["autre_parametre_2"] = "valeur_2";
// $data["..."] = "...";
 
// Triage des paramètres dans l'ordre croissant
ksort($data);
 
// Encodage des paramètres
$query = http_build_query($data);
 
// Encodage des signes plus
$query = str_replace("+", "%20", $query);
 
// Transformation de la chaîne de caractères en minuscule
$query = strtolower($query);
 
// Clé publique d'Ikoula (cf. lien ci-dessus)
$public_key="MIIBIjAN...";
 
// Hashage des paramètres
$hash = hash_hmac("SHA1", $query, $public_key, true);
 
// Encodage en base64, puis encodage en URL selon RFC 3986
$firma = rawurlencode(base64_encode($hash));
 
// ==> $firma contient alors la firma finale

Conclusione

Una volta generata la firma, è necessario passarlo cOM e parametro (Oltre a tutti gli altri parametri ) la chiamata di API.
Seguendo l'esempio precedente, i parametri da passare sarebbero quindi stato :

  • Login = "mail@example.cOM "
  • password = "DH 4=674j_G "
  • firma = $firma



Questo articolo sembrava poter essere utile ?

0



Non si dispone dei permessi necessari per inviare commenti.