CrypteAsymétrique (Fonction) En anglais : EncryptAsymmetric Crypte un buffer en utilisant un algorithme de chiffrement asymétrique (RSA) nécessitant une clé publique et une clé privée. Ce message crypté pourra être décrypté : - avec la fonction DécrypteAsymétrique.
- avec un logiciel tiers (en utilisant les mêmes options de remplissage).
// Cryptage d'une chaîne de caractères // --------------------------------------- bufACrypter est un Buffer = "Message à crypter" bufMessageCrypté est un Buffer sFichierCléPublique est une chaîne = fRepExe() + "\ClePublique.pem" sMotDePasseCléPublique est une chaîne = "xxx" bufMessageCrypté = CrypteAsymétrique(bufACrypter, sFichierCléPublique, ... sMotDePasseCléPublique, cryptePaddingPKCS1) // Décryptage // ------------- bufMessageCrypté est un Buffer bufMessageDécrypté est un Buffer sFichierCléPrivée est une chaîne = fRepExe() + "\ClePrivee.pem" sMotDePasseCléPrivée est une chaîne = "xxx" bufMessageDécrypté = DécrypteAsymétrique(bufMessageCrypté, sFichierCléPrivée, ... sMotDePasseCléPrivée, cryptePaddingPKCS1)
Nouveauté 28
bufACrypter est un Buffer = ChaîneVersUTF8("สวัสดี Test") bufCléPrivée est un Buffer bufCléPublique est un Buffer (bufCléPrivée, bufCléPublique) = CrypteGénèreCléRSA(1024) // Cryptage bufChiffré est un Buffer = CrypteAsymétrique(bufACrypter, bufCléPublique) bufSign est un Buffer = CertificatSigneChaîne(bufChiffré, bufCléPrivée, "", ... certSignatureSeule + certSHA256) // Décryptage SI CertificatVérifieChaîne(bufChiffré, bufSign, bufCléPublique, "", "", ... certSignatureSeule + certSHA256) ALORS bufClair est un Buffer = DécrypteAsymétrique(bufChiffré, bufCléPrivée) Trace("Message authentique") Trace(UTF8VersChaîne(bufClair)) SINON Trace("Message non authentifié") FIN
Syntaxe
<Résultat> = CrypteAsymétrique(<Contenu à crypter> , <Fichier clé publique> [, <Mot de passe> [, <Remplissage>]])
<Résultat> : Chaîne de caractères ou Buffer Résultat du cryptage du message spécifié. <Contenu à crypter> : Buffer Buffer à crypter. Attention : La taille du message à crypter doit être inférieure à la taille de la clé diminuée de la taille minimum du padding (11 octets pour PKCS1 et 41 pour OAEP). Par exemple, pour une clé de 4096 bits et le padding OAEP, le message ne peut dépasser 471 octets. <Fichier clé publique> : Chaîne de caractères ou Buffer - Nom et chemin du fichier correspondant à la clé publique à utiliser pour crypter. Les formats de clé pem, der et p12 sont supportés.
Nouveauté 28Buffer contenant la clé publique à utiliser pour crypter.
<Mot de passe> : Chaîne de caractères optionnelle Mot de passe du fichier de clé (si nécessaire). <Remplissage> : Constante optionnelle de type Entier Mode de remplissage des données cryptées pour être compatibles avec la taille requise par les algorithmes de cryptage par blocs :
| | cryptePaddingOAEP | Remplissage effectué selon l'algorithme OAEP (Optimal Asymmetric Encryption Padding). | cryptePaddingPKCS1 (Valeur par défaut) | Remplissage effectué selon l'algorithme PKCS 1 (Public Key Cryptographic Standards). |
Liste des exemples associés :
|
Exemples unitaires (WINDEV) : Chiffrement asymétrique
[ + ] Utilisation des fonctions WLangage de chiffrement asymétrique (CrypteAsymétrique, DécrypteAsymétrique)
|
Classification Métier / UI : Code métier Composante : wd280com.dll
Documentation également disponible pour…
|
|
|
|