PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Propriétés spécifiques à la description des variables de type xmlSignature
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
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.
Versions 25 et supérieures
iPhone/iPad Ce type de variable est désormais disponible pour les applications iPhone/iPad.
WEBDEV - Code ServeurLinux Ce type de variable est désormais disponible pour les sites WEBDEV sous Linux.
WINDEVLinux Ce type de variable est désormais disponible pour les applications WINDEV sous Linux.
Nouveauté 25
iPhone/iPad Ce type de variable est désormais disponible pour les applications iPhone/iPad.
WEBDEV - Code ServeurLinux Ce type de variable est désormais disponible pour les sites WEBDEV sous Linux.
WINDEVLinux Ce type de variable est désormais disponible pour les applications WINDEV sous Linux.
iPhone/iPad Ce type de variable est désormais disponible pour les applications iPhone/iPad.
WEBDEV - Code ServeurLinux Ce type de variable est désormais disponible pour les sites WEBDEV sous Linux.
WINDEVLinux Ce type de variable est désormais disponible pour les applications WINDEV sous Linux.
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]..Type = 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 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)
Remarques

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
  • 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
Clé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èresMot de passe permettant de décrypter la clé privée.
RéférenceTableau de xmlSignatureRéférenceEléments à signer.
TypeFichierCléConstante de type EntierSi la propriété ..Clé correspond à un fichier, 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.

Remarque : Ces propriétés peuvent être utilisées avec une des deux syntaxes suivantes :
  • <Nom de la variable>..<Nom de la propriété>
  • <Nom de la variable>.<Nom de la propriété>
Voir Aussi
Version minimum requise
  • Version 18
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire