Intégration de la signature numérique dans Shortcuts et Auto.js via une API de hachage externe

Dans les environnements d'autoamtisation mobile comme Shortcuts ou Auto.js, l'ajout de signatures numériques requises par certaines API web peut être complexe car les bibliothèques cryptographiques locales ne sont pas toujours accessibles. Une solution pratique consiste à déléguer les calculs de hash ou de HMAC à une API de hachage externe, servant de capacité supplémentaire sans implémentations natives.

Scénario 1 : Récupération de contenu avec Shortcuts

Lorsqu'un site web exige une signature pour valider les requêtes, Shortcuts peut rencontrer des difficultés pour intégrer une logique de hachage stable. Par exemple, pour accéder à une ressource nécessitant une signature SHA-256 sur des paramètres concaténés.

Procesus recommandé :

  1. Assembler le texte à signer dans Shortcuts, comme timestamp=1715500000&path=/api/search&keyword=coffee.
  2. Appeler l'API de hachage avec le texte, l'algorithme désiré et le format de sortie.
  3. Obtenir le hash résultant.
  4. Inclure ce hash en tant que paramètre de signature dans la requête finale vers le service cible.

Exemple de requête HTTP vers l'API de hachage (adaptez les valeurs selon votre service) :


POST /api/hash-generation HTTP/1.1
Host: hash-service.example.com
Content-Type: application/json

{
  "data_to_hash": "timestamp=1715500000&path=/api/search&keyword=coffee",
  "algorithm_type": "SHA-256",
  "output_encoding": "hex"
}

Le résultat JSON retourné contiendra le hash à utiliser pour la signature.

Scénario 2 : Signature HMAC dans Auto.js

Auto.js est souvent utilisé pour automatiser des requêtes API qui nécessitent une signature HMAC, par exemple en combinant le corps de la requête, un horodatage et un nonce, puis en le signant avec une clé secrète.

Plutôt que de coder une implémentation HMAC dans Auto.js, il est plus simple d'appeler l'API de hachage avec la clé secrète incluse en paramètre.

Exemple de requête :


POST /api/hash-generation HTTP/1.1
Host: hash-service.example.com
Content-Type: application/json

{
  "data_to_hash": "body=abc123&timestamp=1715500000&nonce=xyz",
  "algorithm_type": "HMAC-SHA256",
  "signing_key": "votre_cle_secrete",
  "output_encoding": "base64"
}

La réponse de l'API fournit le hash qui peut ensuite être ajouté dans un en-tête HTTP, comme X-Sign: valeur_du_hash.

Paramètres essentiels de l'API

Pour ces scénarios, les paramètres clés à prendre en compte sont :

  • data_to_hash : le texte ou les données brutes à hacher.
  • algorithm_type : l'algorithme choisi, par exemple "MD5", "SHA-256" ou "HMAC-SHA256".
  • output_encoding : le format de sortie, tel que "hex" pour l'hexadécimal ou "base64".
  • signing_key : la clé secrète, requise uniquement pour les opérations HMAC.

Cette méthode s'applique également à d'autres contextes contraints, comme les frameworks de bots où les capacités cryptographiques natives sont limitées, permettant ainsi d'ajouter des fonctionnalités de signature via des appels HTTP simples.

Étiquettes: hashing-api hmac-signature shortcuts-automation autojs-scripting digital-signature

Publié le 12 juin à 21h22