Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: logo anglais


Section


Column

Contenu

Sommaire
maxLevel1
stylenone


Column


Développer
titleListe des fonctionnalités avancées
Contenu par étiquette
showLabelsfalse
max10
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@9a3
showSpacefalse
sorttitle
typepage
cqllabel = "fonctionnalite_avancee" and type = "page" and space = "DT"
labelsbancontact belgique choixdelamarque





Le principe 

Vous pouvez demander des paramètres de chiffrement à Payline afin d'encoder vos données sensibles pour vos appels web services.

Veuillez contacter notre équipe commerciale pour accéder à cette fonctionnalité.

Les étapes de chiffrement

Le traitement se déroule en 3 étapes : 

  1. Le marchand demande des paramètres pour générer la clef de chiffrement.
  2. Le marchand encrypte les données sensibles sur son serveur.
  3. Le marchand appelle les web services de Payline avec les données encryptées.

Comment intégrer ces paramètres de chiffrement

Pour commencer cette étape, vous devez avoir un commerçant et une clef d'accès marchand.

Vous devez intégrer les web services Payline et connaitre le chiffrement de données RSA : 

  • getEncryptionKey : permet de récupérer les paramètres de chiffrement pour chiffrer votre message. 


Vous devez intégrer les web services Payline : 

  1. Le marchand réalise un getEncryptionKey : permet de récupérer les paramètres de chiffrement.
    Le marchand récupère les paramètres de chiffrement et la key.keyId de getEncryptionKeyReponse

  2. Le marchand peut alors encrypter le message avec les données sensibles.

    La fonction de chiffrement doit :
    • générer une clef public avec les paramètres récupérés dans le getEncryptionKeyReponse : algo, modulus, exponent ;
    • construire la clé publique avec les paramètres : Modulus et publicExponent ;
    • construire le Cipher est retouné par le service getEncryptionKeyReponse ;
    • encrypter le message avec les paramètres suivant : le message formaté avec les données sensibles, le Cipher et la PublicKey.

           Message = "CardNumber=497010000000006,ExpDate=0220,CVX=123,OwnerBirthDate=,Password=PaylineXXXX,Cardholder=John Doe"

    • encoder le message en base64.

  3. Le marchand peut alors appeler les web services Payline en transmettant le message encrypté dans la balise encryptionData et la clef ID du service getEncryptionKeyReponse dans la balise encryptionKeyId.
    Consulter le wbs getEncryptionKey pour lister les wbs utilisant le message encrypté.


A partir de la version 21 : Payline rajoute des éléments Cipher, Algo et Size pour chiffrer le message.


Bloc de code
languagejs
themeEmacs
titleExample d'une fonction d'encryption
linenumberstrue
collapsetrue
   public void getRSAEncodedMessage() throws Exception{
       String message = "CardNumber=497010000000006,ExpDate=0220,CVX=123,OwnerBirthDate=,Password=Payline,Cardholder=Alain Durand";
       String cipherName = "RSA/ECB/OAEPWithSHA-256AndMGF1Padding";
       Cipher cipher = Cipher.getInstance(cipherName);
       String algo = "RSA";
       String modulus = "AOLndIya3+ViAuP07V1Ky+YRuZK6zsMUsVIPP3xhFCS1CSJb9oBLmmzkMMASAn0TQ7BrELuNbY1+9VT30ah1N0mX0BzIBqE5sojV+CkafF+LtIntpF1wUhguXlcFOXcBLCECiMA4gBqHJMrVxnF626M1S6Wi2++WUwFgPTtHdn4B7e0RMvWqFr6uKBDq1qhdP8iziiAn/YPPp5ObgxuabWvPAZvRMDmgflNLYCOZB05LjZXMDvkLaYy244iY0tmVWwa7WYi2lJ7N0wK6gpDXD1WQh42AQuyVQX9i/m3oOjH8iqdRZG8FuaoHkBtON9zhz+ZyuBAwb+zNZWBDvnp6V0E=";
       String publicExponent = "AQAB";

       final KeyFactory fact = KeyFactory.getInstance(algo);
       PublicKey publicKey =  fact.generatePublic(new RSAPublicKeySpec(new BigInteger(Base64.decodeBase64(modulus.getBytes())), new BigInteger(Base64.decodeBase64(publicExponent.getBytes()))));
       System.out.println("Message encoded : " + Base64.encodeBase64String(encrypt(cipher, publicKey, message)));
   }


   public static byte[] encrypt(Cipher cipher, Key key, String message) throws Exception {
       cipher.init(Cipher.ENCRYPT_MODE, key);
       return cipher.doFinal(message.getBytes());
   }




Pages associées

Contenu par étiquette
showLabelsfalse
showSpacefalse
sorttitle
cqllabel = "encryption" and space = "DT"


Center

Inclusion d'extrait
Info page
Info page
nopaneltrue