PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Validité du certificat (syntaxe 1)
  • Gestion des certificats en WEBDEV
  • Limites
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Crée la signature d'une chaîne de caractères.
Versions 22 et supérieures
Remarque : La syntaxe 2 est disponible uniquement via le module du 28 Juillet 2017 (exemple de mise en conformité des logiciels de caisse disponible dans les exemples supplémentaires).Remarque : La syntaxe 2 est disponible uniquement via la mise à jour Update 5 de WINDEV, WEBDEV et WINDEV Mobile 22 (exemple de mise en conformité des logiciels de caisse disponible dans les exemples supplémentaires)
Nouveauté 22
Remarque : La syntaxe 2 est disponible uniquement via le module du 28 Juillet 2017 (exemple de mise en conformité des logiciels de caisse disponible dans les exemples supplémentaires).Remarque : La syntaxe 2 est disponible uniquement via la mise à jour Update 5 de WINDEV, WEBDEV et WINDEV Mobile 22 (exemple de mise en conformité des logiciels de caisse disponible dans les exemples supplémentaires)
Remarque : La syntaxe 2 est disponible uniquement via le module du 28 Juillet 2017 (exemple de mise en conformité des logiciels de caisse disponible dans les exemples supplémentaires).Remarque : La syntaxe 2 est disponible uniquement via la mise à jour Update 5 de WINDEV, WEBDEV et WINDEV Mobile 22 (exemple de mise en conformité des logiciels de caisse disponible dans les exemples supplémentaires)
Remarque : Un exemple de mise en conformité des logiciels de caisse, utilisant la syntaxe 2, est disponible dans les exemples supplémentaires.
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.
WINDEVEtats et RequêtesCode Utilisateur (MCU)
// Signature de chaîne selon un certificat installé sur la machine
// Attention : cette syntaxe utilise une variable de type Certificat.
// Cette syntaxe n'est pas compatible avec la mise en conformité
// des logiciels de caisse (Norme NF525).
// L'exemple correspondant à la norme NF525 est disponible dans
// les exemples supplémentaires

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 la validité du certificat pour la signature
SI MonCertificat..ValidePourSignature = Faux ALORS
Info("Le certificat sélectionné ne permet de 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)

// Récupération du certificat contenu dans le buffer de la signature
MonCertificatExtrait est un Certificat
MonCertificatExtrait = CertificatExtrait(bufSignature)

// Gestion des erreurs
SI MonCertificatExtrait = Null ALORS
RETOUR
FIN

// Ouverture de la fenêtre des propriétés du certificat
CertificatOuvrePropriétés(MonCertificatExtrait)
Syntaxe
WINDEVWEBDEV - Code ServeurEtats et RequêtesLinuxCode Utilisateur (MCU)

Signer une chaîne à l'aide d'une variable de type Certificat Masquer les détails

<Résultat> = CertificatSigneChaîne(<Chaîne à signer> , <Certificat>)
<Résultat> : Buffer
Signature de la chaîne (au format PKCS7 (DER)). Ce buffer pourra être ensuite utilisé par la fonction CertificatVérifieChaîne pour vérifier la correspondance entre la signature et la chaîne.
<Chaîne à signer> : Chaîne de caractères Ansi ou Unicode (avec guillemets) ou Buffer
Chaîne de caractères à signer.
<Certificat> : Variable de type Certificat
Nom de la variable de type Certificat contenant le certificat à utiliser pour signer la chaîne.
Versions 22 et supérieures
Syntaxe disponible uniquement via le module du 28 Juillet 2017 (exemple de mise en conformité des logiciels de caisse disponible dans les exemples supplémentaires)Syntaxe disponible uniquement via la mise à jour Update 5 de WINDEV, WEBDEV et WINDEV Mobile 22 (exemple de mise en conformité des logiciels de caisse disponible dans les exemples supplémentaires)
Nouveauté 22
Syntaxe disponible uniquement via le module du 28 Juillet 2017 (exemple de mise en conformité des logiciels de caisse disponible dans les exemples supplémentaires)Syntaxe disponible uniquement via la mise à jour Update 5 de WINDEV, WEBDEV et WINDEV Mobile 22 (exemple de mise en conformité des logiciels de caisse disponible dans les exemples supplémentaires)
Syntaxe disponible uniquement via le module du 28 Juillet 2017 (exemple de mise en conformité des logiciels de caisse disponible dans les exemples supplémentaires)Syntaxe disponible uniquement via la mise à jour Update 5 de WINDEV, WEBDEV et WINDEV Mobile 22 (exemple de mise en conformité des logiciels de caisse disponible dans les exemples supplémentaires)

Signer une chaîne via une signature numérique Masquer les détails

<Résultat> = CertificatSigneChaîne(<Chaîne à signer> , <Fichier certificat> , <Mot de passe> , <Option>)
<Résultat> : Buffer
Signature de la chaîne (au format demandé). Ce buffer pourra être ensuite utilisé par la fonction CertificatVérifieChaîne pour vérifier la correspondance entre la signature et la chaîne.
<Chaîne à signer> : Chaîne de caractères Ansi ou Unicode (avec guillemets) ou Buffer
Chaîne de caractères à signer.
<Fichier certificat> : Chaîne de caractères (avec guillemets)
Chemin complet vers un fichier de type PKCS12 (.p12/.pfx) contenant la clé privée et les certificats. Ce fichier peut être intégré dans la librairie (fichier WDL) de l'application.
<Mot de passe> : Chaîne de caractères (avec guillemets)
Mot de passe à utiliser pour décrypter le fichier de certificat si celui-ci est protégé par un mot de passe.
<Option> : Constante ou combinaison de constantes de type Entier
Permet de spécifier :
  • l'algorithme de hachage utilisé (facultatif dans le cas d'une signature au format PKCS7) :
    certMD5Algorithme MD5.
    Déconseillé car peu fiable. Ce type d'algorithme est interdit avec les signatures de type "elliptic curve".
    certSHA160Algorithme SHA1.
    certSHA256Algorithme SHA2. Le résultat produit est de 256 bits.
    certSHA384Algorithme SHA-384. Le résultat produit est de 384 bits.
    Ce type d'algorithme n'est pas supporté avec les signatures de type "DSA".
    certSHA512Algorithme SHA-512. Le résultat produit est de 512 bits.
    Ce type d'algorithme n'est pas supporté avec les signatures de type "DSA".
  • le format de la signature :
    certPKCS7EnveloppéConteneur au format PKCS7 (DER) contenant la signature, la chaîne des certificats et les données signées.
    Remarque : si cette constante est utilisée, l'algorithme de hachage est facultatif. S'il n'est pas précisé, un algorithme approprié sera automatiquement choisi.
    certPKCS7Enveloppé + certPKCS7PEMConteneur au format PKCS7 (PEM) contenant la signature, la chaîne des certificats et les données signées.
    Remarque : si cette constante est utilisée, l'algorithme de hachage est facultatif. S'il n'est pas précisé, un algorithme approprié sera automatiquement choisi.
    certPKCS7AvecCertificatConteneur au format PKCS7 (DER) contenant la signature et la chaîne des certificats.
    Remarque : si cette constante est utilisée, l'algorithme de hachage est facultatif. S'il n'est pas précisé, un algorithme approprié sera automatiquement choisi.
    certPKCS7AvecCertificat + certPKCS7PEMConteneur au format PKCS7 (PEM) contenant la signature et la chaîne des certificats.
    Remarque : si cette constante est utilisée, l'algorithme de hachage est facultatif. S'il n'est pas précisé, un algorithme approprié sera automatiquement choisi.
    certPKCS7SansCertificatConteneur au format PKCS7 (DER) contenant la signature.
    Remarque : si cette constante est utilisée, l'algorithme de hachage est facultatif. S'il n'est pas précisé, un algorithme approprié sera automatiquement choisi.
    certPKCS7SansCertificat + certPKCS7PEMConteneur au format PKCS7 (PEM) contenant la signature.
    Remarque : si cette constante est utilisée, l'algorithme de hachage est facultatif. S'il n'est pas précisé, un algorithme approprié sera automatiquement choisi.
    certSignatureSeuleLa sortie contient uniquement la signature brute, sans conteneur.
    Cette option est requise dans le cas d'une mise en conformité des logiciels de caisse (norme NF525). Avec cette option, seule la partie clé du fichier PFX est utilisée (la partie certificat qui contient la date n'est pas utilisée).
    Attention : si cette constante est utilisée, il est nécessaire de préciser l'algorithme de hachage.
Remarque : L'algorithme de signature est déterminé par la clé privée (RSA, DSA, Elliptic curve).
Remarques

Validité du certificat (syntaxe 1)

Avant de signer une chaîne, il est conseillé de vérifier la validité du certificat (propriété ..ValidePourSignature de la variable de type Certificat). Cette propriété permet de savoir si le certificat possède une clé privée et toutes les caractéristiques requises pour effectuer une signature. Si cette propriété est à Faux, la fonction CertificatSigneChaîne renvoie une erreur.
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.
AndroidWidget Android

Limites

Cette fonction est disponible uniquement sur des appareils avec des processeurs ARM. Si cette fonction est utilisée sur des appareils avec des processeurs non ARM (x86, mips, ...), une erreur fatale sera déclenchée. Cette fonction est disponible uniquement sur des appareils utilisant des processeurs ARM ou une émulation ARM. Dans le cas contraire (et sur la tablette Samsung Galaxy Tab 3), une erreur fatale sera déclenchée.
Composantes
WINDEVWEBDEV - Code ServeurEtats et Requêtes wd230std.dll
Linux wd230std.so
Android wd230android.jar
Version minimum requise
  • Version 16
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire