DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des fichiers XML
  • Propriétés spécifiques à la description des variables de type xmlSignature
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
xmlSignature (Type de variable)
En anglais : xmlSignature
Le type xmlSignature permet de définir toutes les caractéristiques avancées d'une signature XML. Les caractéristiques de cette signature peuvent être définies et modifiées à l'aide de différentes propriétés WLangage.
Remarque : Pour plus de détails sur la déclaration de ce type de variable et l'utilisation des propriétés WLangage, consultez Déclaration d'une variable.
Exemple
MaSignature est un xmlSignature
MaSignature.AlgorithmeNormalisation = atC14NExcluAvecCommentaire
MaSignature.AlgorithmeSignature = asRSA_SHA_160
MaSignature.Clé = MonCertificat
Ajoute(MaSignature.Référence, maRéférence)
MaSignature.InformationClé[1] = informationCléX509
// Exemple utilisant un Webservice intégré au projet
// Cet exemple ne fonctionne pas par un simple copier/coller

// SOAPAjouteSignatureXML prend en 2ème paramètre l'emplacement où apposer la signature.
// Cet emplacement est décrit dans le WSDL qu'on souhaite utiliser, par un type XSD.
// Dans cet exemple de code, cet emplacement est décrit dans "Security.Assetion.Signature"
// qui provient du WSDL du Webservice qu'on souhaite appeler.

// Il faut donc se référer au WSDL qu'on utilise pour trouver cet emplacement.

MaRequête est un wsRequête
MaSecurity est un Security // Webservice intégré dans le projet. 

// Construit un identifiant
id est une chaîne = DonneGUID(guidFormaté)
id = "_" + Milieu(id, 2, Taille(id) - 2)

// Initialise la signature
cMaSignature est un xmlSignature
cMaSignature.AlgorithmeNormalisation = atC14NExclu
cMaSignature.AlgorithmeSignature = asRSA_SHA_256
// Fichier de clé OU certificat récupéré par les fonctions certificats
cMaSignature.Clé = fRepExe + fSep + "macle.p12"
cMaSignature.MotDePasseClé = "password"
cMaSignature.TypeFichierClé = tfcPKCS12
cMaSignature.Référence[1].AlgorithmeHash = HA_SHA_256
cMaSignature.Référence[1].URI = "#" + id
cMaSignature.Référence[1].Transformation[1] = atEnveloppée
cMaSignature.Référence[1].Transformation[2] = atC14NExclu
x509 est un xmlSignatureInformationCléX509
x509.AvecCertificat = Vrai
cMaSignature.InformationClé[1] = x509

// Fin initialisation de la signature
dhDateHeureCourante est une DateHeure
MaSecurity.Assertion:ID = id
MaSecurity.Assertion:IssueInstant = dhDateHeureCourante
MaSecurity.Assertion:Version = "2.0"
MaSecurity.Assertion.Issuer = "test"
MaSecurity.Assertion.Issuer:Format = ...
	"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName"

// Ajoute la signature
SOAPAjouteSignatureXML(MaRequête, MaSecurity.Assertion.Signature, cMaSignature)
Propriétés

Propriétés spécifiques à la description des variables de type xmlSignature

Les propriétés suivantes peuvent être utilisées pour manipuler une variable de type xmlSignature :
Nom de la propriétéType manipuléEffet
AlgorithmeNormalisationConstante de type EntierMéthode de standardisation du XML (C14N) :
  • atAucune : aucune méthode de standardisation.
  • atC14N11Inclus : Méthode de standardisation C14N11 inclusive.
  • atC14N11InclusAvecCommentaire : Méthode de standardisation C14N11 inclusive avec commentaires.
  • atC14NExclu : Méthode de standardisation C14N exclusive.
  • atC14NExcluAvecCommentaire : Méthode de standardisation C14N exclusive avec commentaires.
  • atC14NInclus : Méthode de standardisation C14N inclusive.
  • atC14NInclusAvecCommentaire : Méthode de standardisation C14N inclusive avec commentaires.
AlgorithmeSignatureConstante de type EntierMéthode utilisée pour la signature :
  • asDSA_SHA_160 : Algorithme de cryptage DSA et algorithme de hachage de type SHA 160.
  • asECDSA_SHA_224 : Algorithme de cryptage ECDSA et algorithme de hachage de type SHA 224.
  • asECDSA_SHA_256 : Algorithme de cryptage ECDSA et algorithme de hachage de type SHA 256.
  • asECDSA_SHA_384 : Algorithme de cryptage ECDSA et algorithme de hachage de type SHA 384.
  • asECDSA_SHA_512 : Algorithme de cryptage ECDSA et algorithme de hachage de type SHA 512.
  • asRSA_SHA_160 : Algorithme de cryptage RSA et algorithme de hachage de type SHA 160.
  • asRSA_SHA_256 : Algorithme de cryptage RSA et algorithme de hachage de type SHA 256.
  • asRSA_SHA_384 : Algorithme de cryptage RSA et algorithme de hachage de type SHA 384.
  • asRSA_SHA_512 : Algorithme de cryptage RSA et algorithme de hachage de type SHA 512.
Clé
  • Variable de type Certificat
  • Chaîne de caractères
Certificat ou fichier de clé utilisé pour la signature. Si cette propriété correspond à un fichier, la propriété TypeFichierClé doit être spécifiée.
InformationCléTableau de variables de type xmlSignatureInformationCléX509Permet de spécifier des informations sur la clé utilisée.
MotDePasseCléChaîne de caractères ou Chaîne secrèteMot de passe permettant de décrypter la clé privée.
Nouveauté 2025
Utilisation de chaînes secrètes : Si vous utilisez le coffre-fort de chaînes secrètes, le type de la chaîne secrète utilisable pour ce paramètre doit être "Chaîne Ansi - Latin".
Pour plus de détails sur les chaînes secrètes et l'utilisation du coffre-fort, consultez Coffre-fort de chaînes secrètes.
RéférenceTableau de xmlSignatureRéférenceEléments à signer.
TypeFichierCléConstante de type EntierSi la propriété Clé correspond à un fichier, la propriété TypeFichierClé permet de définir le type d'encodage du fichier :
  • tfcBinaire : encodage binaire.
  • tfcDER : encodage de type DER (Distinguished Encoding Rule).
  • tfcPEM : encodage de type PEM.
  • tfcPKCS12 : encodage de type PKCS12.
  • tfcPKCS8DER : encodage de type PKCS8 DER.
  • tfcPKCS8PEM : encodage de type PKCS8 PEM.
Voir Aussi
Version minimum requise
  • Version 18
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 22/11/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale