-
Coder une clé MAC
Bonjour à tous,
Je dois mettre en place un paiement en ligne depuis le CIC, tout mon formlaire est prêt etc. mais je dois réussir à coder la clé MAC à partir d'une chaine de caractère et d'une clé qu'ils m'ont remise. mais je ne trouve pas la fonction nécessaire. Dans leur documentation, c'est une pseudo fonction.
Quelqu'un l'a-t-il déjà fait, ou connait-il la fonction permettant d'envoyer la bonne variable ??
Merci d'avance....
-
Qu'est ce qu'une clé MAC ?
Ca serait quand même plutôt eux qui peuvent te dire ce qu'il faut faire.
-
heu.... en fait oui, il m'ont transmis une clé de 40 chiffres, et à partir de cette clé et d'une chaine de caractères concaténés, je dois codé une autre clé sécurisé sur le format suivant : HMAC(Clé, Chaine).... mais là......... je bloque.
-
Ba on ne va pas deviner ce qu'ils veulent.
-
Bonjour à tous,
Alors sans nous données la clé des 40 chiffres, tu aurais un morceau de la documentation en question du CIC ? J'ai installé un module de paiement un peu dans la même idée et je dois dire que j'avais trouvé ça léger.
Car on devait envoyer le formulaire en clair avec en son sein une chaine en sha1 qui résultait d'une concaténation de X paramètres avec bien sur une clé secrète. Là ou je trouve ça léger c'est l'utilisation du sha1.
Donc tu dois être dans un cas similaire. Tu as du avoir une documentation développeur ou elle doit être disponible sur le site de la banque. Car il te faut juste voir comment encoder la chaîne en question.
Cordialement,
-
tout à fait, la voici :
--
2.2.2 Calcul du sceau
Le sceau (à mettre dans le champ MAC) doit être calculé à l’aide d’une fonction de hachage cryptographique en combinaison avec une clé secrète respectant les spécifications de la RFC 2104. Les données à certifier seront présentées sous la forme d’une concaténation dans un ordre précis des informations du formulaire :
<TPE>*<date>*<montant>*<reference>*<texte-libre>*<version>*<lgue>*<societe>*
--
On note ici en pseudo-code « HMAC-SHA1(stringDatas, 20byteKey) » la fonction d’authentification conforme à la RFC2104 présente sur votre environnement, avec :
- stringDatas : une chaîne obtenue par concaténation d’informations essentielles du message et de délimiteurs
- 20byteKey : votre clé de sécurité (160 bits, 40 chiffres hexadécimaux).
--
Voilà ce que j'ai. Donc pour l'instant, j'ai bien la clé cryptée, j'ai bien concaténé toutes les valeurs, mais après, je ne comprends pas la fonction qu'il faut utiliser pour obtenir la clé à leur transmettre.
-
Bonjour,
Alors la réponse est ici en fait : http://fr.php.net/manual/fr/function.hash-hmac.php
C'est un système de Hashage avec clé secrète pour en renforcer la sécurité.
Pour informations la RFC du HMAC : http://www.ietf.org/rfc/rfc2104.txt (en US)
Donc avec la fonction PHP tu devrais pouvoir gérer ta chaine simplement ;)
Cordialement,
-
C'est un peu plus clair comme ça, merci. j'ai donc intégré le code, mais voilà le message que me retourne le site maintenant :
Fatal error: Call to undefined function: hash_hmac()
j'ai alors essayé avec la fonction mhash, mais là, mm si la fonction est reconnue, ça ne marche toujours pas.
-
Il faut au minimum 5.1.2
Dans les contibutions, quelqu'un propose une fonction à la main.
-
Il semble que je n'utilise pas la bonne clé de cryptage. Voilà ce qu'on me dit concernant la fonction à utiliser :
Cette fonction générera le sceau à partir de données à certifier et de la clé de
sécurité commerçant sous sa forme opérationnelle.
Est-ce que c'est sensé me dire quelque chose "sous sa forme opérationnelle" ?