Créer des signatures XML

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Manuel de l'utilisateur et référence > XML > Signatures XML >

Créer des signatures XML

Afin de créer une signature XML pour un document XML, ouvrir le document XML pour lequel vous souhaitez créer une signature. Ensuite, cliquer sur la commande de menu XML | Créer Signature XML. Le dialogue Créer Signature XML s'ouvre (capture d'écran ci-dessous), les paramètres sont expliqués ci-dessous.

SigCreatSigDlg01

 

Méthode d'authentification : certificat ou mot de passe

La signature peut se baser sur un certificat ou sur un mot de passe. Choisir le bouton radio de la méthode que vous souhaitez utiliser.

 

Certificat : cliquer sur le bouton Sélectionner et chercher le certificat que vous souhaitez. Le certificat que vous sélectionnez doit avoir une clé privée. La signature est générée à l'aide de la clé privée du certificat. Pour vérifier la signature, il est nécessaire d'accéder au certificat (ou à une version à clé publique). La clé publique du certificat est utilisée pour vérifier la signature. Pour plus de détails concernant les certificats, voir la section Travailler avec des certificats.
Mot de passe : Saisir un mot de passe d'une longueur de 16 caractères. Ce mot de passe sera ensuite nécessaire pour vérifier la signature.

 

Note:À partir de XMLSpy 2018, l'algorithme qui est utilisé pour signer des documents basés sur des mots de passe a été mis à jour depuis HMAC-SHA1 vers HMAC-SHA256. Les versions précédentes de XMLSpy ne seront pas en mesure de vérifier les signatures en utilisant les mots de passe générés avec XMLSpy 2018.

 

Transformations

Les données XML sont transformées et le résultat de la transformation est utilisé pour la création de la signature. Vous pouvez spécifier l'algorithme de canonicalisation à appliquer dans les données du fichier XML (le contenu SignedInfo) avant d'effectuer les calculs de la signature. Les différences les plus importantes entre les algorithmes sont notées ci-dessous :

 

XML canonique avec ou sans commentaires : si les commentaires sont inclus pour un calcul de la signature, tout changement des commentaires dans les données XML entraînera un échec de la vérification. Sinon, les commentaires peuvent être modifiés ou ajoutés au document XML après que le document ait été signé et la signature sera toujours vérifiée en tant qu'authentique.
Base64 : l'élément de racine (ou document) du document XML est considéré être encodé en Base64 et est lu sous sa forme binaire. Si l'élément racine n'est pas en Base64, une erreur est retournée ou l'élément est lu en tant que vide.
Aucun : aucune transformation n'est effectuée et les données XML provenant du fichier binaire enregistré sur le disque sont passées directement pour la création de la signature. Toute modification ultérieure entraînera un échec de la vérification de la signature. Néanmoins, si l'option Supprimer les espaces est cochée, tous les espaces blancs seront supprimés et les modifications des espaces blancs seront ignorées. Une différence considérable entre l'option Aucun et l'option Canonicalisation est que cette dernière produit un flux de données XML dans lequel certaines différences, comme l'ordre des attributs sont normalisées. En conséquence, une transformation de canonicalisation normalisera tous les changements comme par exemple l'ordre des attributs (donc la vérification réussira), alors que la non transformation réfléchira un tel changement (la vérification échouera). Veuillez noter, néanmoins, qu'une canonicalisation par défaut est effectuée si la signature est intégrée (enveloppée ou enveloppante). Ainsi, les données de XML seront utilisées telles qu'elle (donc sans transformation), lorsque la signature est détachée, Aucun est sélectionné, et la case Supprimer les espaces n'est pas cochée.

 

Position de la signature XML

La signature XML peut être placée dans le fichier XML ou être créée en tant que fichier séparé. Les options suivantes sont disponibles :

 

Enveloppée : l'élément Signature est créé en tant que le dernier élément enfant de l'élément racine (ou document).
Enveloppante : l'élément Signature est créé en tant que l'élément racine (ou document), et le document XML est inséré en tant qu'un élément enfant.
Détachée : la signature XML est créée en tant que fichier séparé. Dans ce cas, vous pouvez spécifier l'extension de fichier du fichier de signature et si le nom de fichier est créé avec : (i) l'extension apposée au nom du fichier XML (par exemple, test.xml.xsig), ou (ii) l'extension remplaçant l'extension XML du fichier XML (par exemple, test.xsig). Vous pouvez aussi spécifier si, dans le fichier de signature, la référence au fichier XML est un chemin relatif ou absolu.

 

Note :Les signatures XML pour les fichiers de Schéma XML (.xsd) peuvent être créées depuis le Mode Schéma en tant que fichiers de signature détachés (pas intégrés). Les signatures XML pour les fichiers XBRL peuvent être créées depuis le Mode XBRL en tant que fichiers de signature détachés (non intégrés). Les signatures XML pour les fichiers WSDL peuvent être créées à partir du Mode WSDL en tant que fichiers de signature détachés ou ils peuvent être "enveloppés" dans le fichier WSDL.

 

Note :Si la signature XML est créée en tant que fichier détaché (séparé), le fichier XML et le fichier de signature sont associés l'un à l'autre par le biais d'une référence dans le fichier de signature. Par conséquence, la vérification de la signature dans les cas où la signature se trouve dans un fichier externe doit être effectuée avec un fichier de signature actif, et non avec le fichier XML actif.

 

Apposer des informations-clé

L'option Apposer info clé est disponible lorsque la signature est basée sur un certificat. Elle n'est pas disponible si la signature se base sur un mot de passe.

 

Si l'option est choisie, l'information de clé publique est placée dans la signature, sinon, l'information de clé n'est pas incluse dans la signature. L'avantage d'inclure l'information de clé est que le certificat lui-même (en particulier l'information de clé publique contenue) ne sera pas nécessaire pour le processus de vérification (puisque l'information de clé est contenue dans la signature).

 


© 2018 Altova GmbH