DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Champs, fenêtres et pages / Champs : Types disponibles / Champ Zone de Texte Riche
  • Exemple d'utilisation de la fonction SOAPAjouteSignatureXML
SOAPAjouteSignatureXML (Exemple)
Exemple d'utilisation de la fonction SOAPAjouteSignatureXML
Cet exemple permet de créer une signature XML et de l'ajouter à une requête d'un Webservice.
Attention : Cet exemple ne peut pas être utilisé par un simple copier/coller. En effet, la fonction 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.
Pour adapter ce code, il faut donc se référer au WSDL utilisé pour trouver cet emplacement.
MaRequête est un wsRequête
MaSecurity est un Security
 
// Construit un identifiant
id est une chaîne = DonneGUID(guidFormaté)
id = "_" + Milieu(id, 2, Taille(id) - 2)
 
// Initialise la signature
cMaSignature est une 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 un 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)
Version minimum requise
  • Version 18
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

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