- Fonctionnement
- Configuration nécessaire
OpenSSLVérifie (Fonction) En anglais : OpenSSLCheck Vérifie grâce à une clé publique que la signature de données réalisée avec la bibliothèque OpenSSL est correcte. Attention : Cette fonction ne gère que la vérification d'une signature au format RSA + SHA1. Pour gérer des formats supplémentaires, il est conseillé d'utiliser la fonction CertificatVérifieChaîne.
sCléPublique est une chaîne = [ -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDi8S01w2xZzE00dzSEaoFqsOuv WFRHqwnSYXRV9pazpLMRW6M8mFBow7CwVNI26JTU0pXopOGTf0dHVwR8i/AS/mYi 3YdmSkeFJ5PTtOqupr1OWW9GjIciDzyg12CJyH59UoG3anNC8Zy3LfG8bpoUxb/E 9V+5yUZz4akdeNpU7wIDAQAB -----END PUBLIC KEY----- ] sData est une chaîne = [ Date 31/08/2012 Commande #123456 ----------------------------------- 1 Fauteuil en cuir : 125.90 € 6 Assiettes à poisson : 54.99 € ----------------------------------- TOTAL : 180.89 € ] sDataSignéeBase64 est une chaîne = [ wmn3lM4anUpdhUyBkarlYQK7Ftzf7dA6HOoSlZUilsk9YxNooV8nOyRrMq8eCIWY 5h3J7noxhkkhEMz0TWpen0FCYE57jHwDTKTLtmIIQONKZPTD2vKJgc8wifejm0jH zSsRhRm8o2iqfPuSSSZlXxoPWLihKmU3NqlNqIFUwx4= ] SI OpenSSLVérifie(sData, sDataSignéeBase64, sCléPublique) ALORS Info("La signature est correcte") SINON Erreur("La signature est incorrecte") FIN
// Vérification de la signature de données transmises par PayBox Données est une chaîne = [ montant=500&ref=634762387633462156_1329&auto=XXXXXX& trans=405476423&erreur=00000&idtrans=406494010&abonnement=0 ] Signature est une chaîne = [ npArYMsKpBYQ3XFyouN32Q1Z5/HxEpXCiYrjks6ZQD8RPFfoJ4hEVnm1WD7tDCvEkS awAfyaN3jUG7tHjc3NR1gnjoZREz3LSjsr128GUGmRZpF1uV3vG6NqHzWf2TiZMUtt QH8yMBBb6XsIv1I5h6S0K6EZzt2SB4dp7AfyHR0= ] sCléPublique est une chaîne = [ -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDe+hkicNP7ROHUssGNtHwiT2Ew HFrSk/qwrcq8v5metRtTTFPE/nmzSkRnTs3GMpi57rBdxBBJW5W9cpNyGUh0jNXc VrOSClpD5Ri2hER/GcNrxVRP7RlWOqB1C03q4QYmwjHZ+zlM4OUhCCAtSWflB4wC Ka1g88CjFwRw/PB9kwIDAQAB -----END PUBLIC KEY----- ] // Vérification SI OpenSSLVérifie(Données, Signature, sCléPublique) ALORS Info("La signature est correcte") SINON Erreur("La signature est incorrecte") FIN // Note : Vérification également possible avec la fonction CertificatVérifieChaîne en utilisant // les constantes certSignatureSeule + certSHA160 // Utile sous Linux, iOS et Android
Syntaxe
<Résultat> = OpenSSLVérifie(<Données> , <Signature> , <Clé>)
<Résultat> : Booléen - Vrai si la signature est correcte,
- Faux dans le cas contraire.
<Données> : Chaîne de caractères Données signées. <Signature> : Chaîne de caractères Signature des données (encodée au format Base64) <Clé> : Chaîne de caractères Clé publique correspondant à la clé privée ayant servi à encrypter les données. Remarques Fonctionnement La bibliothèque OpenSSL est utilisée par certains sites de paiement sécurisé, comme PayBox, pour certifier les requêtes entre le site de vente et le site de paiement. La fonction OpenSSLVérifie permet de contrôler facilement les clés cryptées avec la bibliothèque de cryptographie OpenSSL. Dans le cas de PayBox, les données et la signature sont renvoyées par PayBox. La clé publique peut être trouvée simplement sur le site de PayBox.
Il est aussi possible d'utiliser CertificatVérifieChaîne en décodant préalablement la signature qui est encodée en base64url avec la fonction Décode. La fonction CertificatVérifieChaîne a l'avantage de fonctionner sous Windows, Linux, iOS et Android alors que la fonction OpenSSLVérifie fonctionne uniquement sous Windows. Composante : wd280std.dll
Documentation également disponible pour…
|
|
|
|