PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Vérifie la correspondance entre une signature et une chaîne.
Exemple
Etats et Requêtes
MonCertificat est un Certificat
 
// Ouverture du sélecteur de certificat de Windows
MonCertificat = CertificatSélecteur()
 
// Annulation ou erreur
SI MonCertificat.Nom = "" ALORS
RETOUR
FIN
 
// Teste si le certificat sélectionné est valide pour signer
SI MonCertificat.ValidePourSignature = Faux ALORS
Info("Le certificat sélectionné ne permet pas de générer une signature.")
RETOUR
FIN
 
// Récupération du buffer contenant la signature
bufSignature est un Buffer
bufSignature = CertificatSigneChaîne("Chaîne de caractères à signer", MonCertificat)
 
// Vérification de la signature
SELON CertificatVérifieChaîne("Chaîne de caractères à signer", bufSignature)
CAS certificatOk : Info("Signature valide et certificat fiable")
CAS certificatInvalide : Info("Signature ou certificat invalide")
CAS certificatExpiré : Info("Signature valide mais certificat expiré")
CAS certificatNonFiable : Info("Signature valide mais racine de confiance " + ...
"du certificat non fiable")
FIN
Windows
// Vérification de signature de données transmises par PayBox
sDonnées est une chaîne = [
act=ps_validated&secid=190&fpay=1&montant=25000&reference=CMD2019021309341242&auto=XXXXXX
&trans=33015345&abo=0&paiement=CARTE&carte=Maestro
&idtrans=14515770&erreur=00000&payscarte=FRA&fincb=44&debcb=111122
]
sSignatureBase64 est une chaîne = [
DVD+nMNaQatCBdS/qVjZGE8DtwPvIA3jxGhKlU83MyYC98ezKori/
3cceClqNhtmzD6MDhuKbm8Lw5sFTYdaKWzy79tXzxMLCq814u0+fc5KSihExS6
gIaixjCHiOTgqQXmPP29MkFPpfAFz/wKU/fu+FPGp2dpgLcoRAv0+m1o=
]
sFichierCléPbublique est une chaîne = fRepDonnées() + "\pubkey.pem"
// Décodage Base64 de la signature
bufSignature est un Buffer = Décode(Remplace(sSignatureBase64, RC, ""), encodeBASE64URL)
// Condensé SHA-1 ==> certSHA160
SI CertificatVérifieChaîne(sDonnées, bufSignature, sFichierCléPbublique,
"", "", certSignatureSeule + certSHA160) = certificatOk ALORS
Info("La signature est correcte")
SINON
Erreur("La signature est incorrecte", ErreurInfo())
FIN
Syntaxe
Etats et Requêtes

Vérifier la correspondance entre une signature et une chaîne Masquer les détails

<Résultat> = CertificatVérifieChaîne(<Chaîne à vérifier> , <Buffer de signature>)
<Résultat> : Constante de type Entier
Résultat de la vérification de la signature :
certificatExpiréSignature valide mais certificat expiré.
certificatInvalideSignature ou certificat invalide.
certificatNonFiableSignature valide mais la racine de confiance du certificat est non fiable.
certificatOkSignature et certificat fiables.
<Chaîne à vérifier> : Chaîne de caractères
Chaîne de caractères sur laquelle la vérification doit être effectuée.
<Buffer de signature> : Buffer
Buffer contenant la signature de la chaîne. Ce buffer est obtenu avec la fonction CertificatSigneChaîne.

Vérifier la correspondance entre une signature et une chaîne (signature numérique) Masquer les détails

<Résultat> = CertificatVérifieChaîne(<Chaîne à vérifier> , <Buffer de signature> , <Fichier de certificat> [, <Mot de passe> [, <Autorités de confiance>]] , <Options>)
<Résultat> : Constante de type Entier
Résultat de la vérification de la signature :
certificatExpiréSignature valide mais certificat expiré.
certificatInvalideSignature ou certificat invalide.
certificatNonFiableSignature valide mais la racine de confiance du certificat est non fiable.
certificatOkSignature et certificat fiables.
<Chaîne à vérifier> : Chaîne de caractères ou Buffer
Chaîne de caractères sur laquelle la vérification doit être effectuée.
Ce paramètre peut correspondre à une chaîne ANSI, une chaîne UNICODE ou un Buffer. La chaîne sera traitée comme un buffer.
Si ce paramètre correspond à une chaîne (sans précision du type), le type de chaîne pris en compte dépend du type de chaîne défini par défaut dans la configuration courante du projet.
Remarque : Dans le cas d'une chaîne UNICODE, notez que l'Unicode n'est pas le même sous Linux et sous Windows.
<Buffer de signature> : Buffer
Buffer contenant la signature de la chaîne. Ce buffer est obtenu avec la fonction CertificatSigneChaîne.
<Fichier de certificat> : Chaîne de caractères
Chemin complet du fichier de certificat à utiliser (au format PEM, DER ou P12).
  • Pour une signature de type PKCS7, ce fichier permet d'ajouter des certificats pour la recherche de la chaîne de confiance.
  • Pour la signature brute, ce fichier contient la clé publique.
<Mot de passe> : Chaîne de caractères
Versions 23 et supérieures
Mot de passe à utiliser pour décrypter le fichier de certificat si celui-ci est protégé par un mot de passe.
Remarque : Ce paramètre est utile notamment si le certificat utilisé est identique à celui utilisé pour la signature.
Nouveauté 23
Mot de passe à utiliser pour décrypter le fichier de certificat si celui-ci est protégé par un mot de passe.
Remarque : Ce paramètre est utile notamment si le certificat utilisé est identique à celui utilisé pour la signature.
Mot de passe à utiliser pour décrypter le fichier de certificat si celui-ci est protégé par un mot de passe.
Remarque : Ce paramètre est utile notamment si le certificat utilisé est identique à celui utilisé pour la signature.
<Autorités de confiance> : Chaîne de caractères ou tableau de chaînes
Versions 23 et supérieures
Chemin complet du certificat de confiance à utiliser.
Ce paramètre peut également correspondre à un tableau de chaînes contenant le chemin complet des différents certificats de confiance à utiliser.
Versions 24 et supérieures
Remarque : Les certificats de confiance ajoutés avec la fonction CertificatDeConfianceAjoute sont également prise en compte.
Nouveauté 24
Remarque : Les certificats de confiance ajoutés avec la fonction CertificatDeConfianceAjoute sont également prise en compte.
Remarque : Les certificats de confiance ajoutés avec la fonction CertificatDeConfianceAjoute sont également prise en compte.
Nouveauté 23
Chemin complet du certificat de confiance à utiliser.
Ce paramètre peut également correspondre à un tableau de chaînes contenant le chemin complet des différents certificats de confiance à utiliser.
Versions 24 et supérieures
Remarque : Les certificats de confiance ajoutés avec la fonction CertificatDeConfianceAjoute sont également prise en compte.
Nouveauté 24
Remarque : Les certificats de confiance ajoutés avec la fonction CertificatDeConfianceAjoute sont également prise en compte.
Remarque : Les certificats de confiance ajoutés avec la fonction CertificatDeConfianceAjoute sont également prise en compte.
Chemin complet du certificat de confiance à utiliser.
Ce paramètre peut également correspondre à un tableau de chaînes contenant le chemin complet des différents certificats de confiance à utiliser.
Versions 24 et supérieures
Remarque : Les certificats de confiance ajoutés avec la fonction CertificatDeConfianceAjoute sont également prise en compte.
Nouveauté 24
Remarque : Les certificats de confiance ajoutés avec la fonction CertificatDeConfianceAjoute sont également prise en compte.
Remarque : Les certificats de confiance ajoutés avec la fonction CertificatDeConfianceAjoute sont également prise en compte.
<Options> : Constante ou combinaison de constantes de type Entier
Format de la signature :
certPKCS7Signature au format PKCS7.
certSignatureSeuleSignature seule. Dans ce cas, il est nécessaire de combiner la constante certSignatureSeule avec l'algorithme de hachage :
  • certSignatureSeule + certMD5 : Algorithme MD5.
  • certSignatureSeule + certSHA160 : Algorithme SHA1.
  • certSignatureSeule + certSHA256 : Algorithme SHA2. Le résultat produit est de 256 bits.
  • certSignatureSeule + certSHA384 : Algorithme SHA-384. Le résultat produit est de 384 bits
  • certSignatureSeule + certSHA512 : Algorithme SHA-512. Le résultat produit est de 512 bits.
Dans ce cas, il n'y a pas de vérification de la chaîne de confiance. Seule la validité de la signature par rapport à la clé publique est vérifiée.
Remarques
Classification Métier / UI : Code métier
Composante : wd270std.dll
Version minimum requise
  • Version 16
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire