PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Gestion des certificats en WEBDEV
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Vérifie la correspondance entre une signature et une chaîne.
Versions 23 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Android Cette fonction est désormais disponible pour les applications Android.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WEBDEV - Code ServeurLinux Cette fonction est désormais disponible pour les sites WEBDEV sous Linux.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
Nouveauté 23
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Android Cette fonction est désormais disponible pour les applications Android.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WEBDEV - Code ServeurLinux Cette fonction est désormais disponible pour les sites WEBDEV sous Linux.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Android Cette fonction est désormais disponible pour les applications Android.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WEBDEV - Code ServeurLinux Cette fonction est désormais disponible pour les sites WEBDEV sous Linux.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
Exemple
WINDEVEtats et RequêtesCode Utilisateur (MCU)
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
WINDEVWEBDEV - Code ServeurWindowsLinuxAndroidiPhone/iPad
// 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
WINDEVWEBDEV - Code ServeurEtats et RequêtesLinuxCode Utilisateur (MCU)

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 (avec guillemets)
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 (avec guillemets) 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 (avec guillemets)
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 (avec guillemets)
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 (avec guillemets) 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.
AndroidWidget Android Attention : Ce paramètre est nécessaire sous les systèmes récents (supérieur ou égal à Android 2.6).
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.
AndroidWidget Android Attention : Ce paramètre est nécessaire sous les systèmes récents (supérieur ou égal à Android 2.6).
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.
AndroidWidget Android Attention : Ce paramètre est nécessaire sous les systèmes récents (supérieur ou égal à Android 2.6).
<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
WEBDEV - Code Serveur

Gestion des certificats en WEBDEV

Pour que les certificats soient visibles pour l'utilisateur du site, ils doivent être installés sur le serveur dans le magasin de certificats personnels de l'utilisateur Internet.
Classification Métier / UI : Code métier
Composante : wd250std.dll
Version minimum requise
  • Version 16
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire