diff --git a/help/fr/api-auth.page b/help/fr/api-auth.page index 01dc5122e..3f400e99f 100644 --- a/help/fr/api-auth.page +++ b/help/fr/api-auth.page @@ -45,12 +45,13 @@ de Sécurité (RGS).

La signature est à calculer sur la query string encodée complète, en enlevant les paramètres terminaux algo, timestamp, -orig et signature. La formule de calcul de la -signature est la suivante : -

+nonce, orig et signature s'ils sont +présents.

+ +

La formule de calcul de la signature est la suivante :

-BASE64(HMAC-HASH(query_string+'algo=HASH&timestamp=' + timestamp + '&orig=" + orig, clé)) +BASE64(HMAC-HASH(query_string+'algo=HASH&timestamp=' + timestamp + '&nonce=' + nonce '&orig=" + orig, clé)) @@ -59,12 +60,16 @@ BASE64(HMAC-HASH(query_string+'algo=HASH&timestamp=' + timestamp + '&ori en se limitant à la précision des secondes (ex : 2012-04-04T12:34:00Z),

+

nonce est un aléa, typiquement la réprésentation hexa +d'un nombre pseudo-aléatoire de 128 bits,

+

orig est une chaîne précisant l'émetteur de la requête,

algo est une chaîne représentant l'algorithme de hachage utilisé, sont définis : sha1, sha256, sha512 pour les trois algorithmes correspondant. -L'utilisation d'une valeur différente n'est pas définie.

+L'utilisation d'une valeur différente n'est pas définie. L'algorithme sha256 +est préconisé.

@@ -73,7 +78,7 @@ La query string définitive est ainsi :

-qs_initial&algo=algo&timestamp=ts&orig=orig&signature=signature +qs_initial&algo=algo&timestamp=timestamp&nonce=nonce&orig=orig&signature=signature @@ -213,7 +218,8 @@ function rawurlencode() { } now=$(date -u +%FT%TZ); -qs="algo=sha256&timestamp=$now&orig=$orig" +nonce=$(od -N16 -txL /dev/urandom | cut -c8- | tr -d " ") +qs="algo=sha256&timestamp=$now&nonce=$nonce&orig=$orig" sig=$(rawurlencode $(echo -n "$qs" | openssl dgst -binary -sha256 -hmac "$key" | base64)) signed="${url}?$qs&signature=$sig" echo "$signed"