IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

[XML] Signature


Sujet :

XML/XSL et SOAP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 143
    Par défaut [XML] Signature
    Bonjour, ou peut-être bonsoir,
    Tout d'abord sachez que je suis relativement novice dans le domaine du XML.
    Et merci du temps que vous prendrez pour lire ceci.

    Je me suis renseigné sur les différente normes :
    - XMLDsig
    - XAdES (avec toutes les lettres qui vont bien derrière :p)

    Et je me suis heurté, au plus souvent, des pages traduite (mais pas réelement
    BIEN traduite ce qui donne quelque chose d'assez peu comprehensible) ou alors des
    page en anglais (même en ayant un bon niveau d'anglais, me farcir 44pages de norme
    ou je comprend déjà pas 10 mots de ce qu'ils veulent dire, ça me donne mal a la tête).

    En bref je doit créer un outil qui signe les documents en XML.

    Alors voila ce que j'ai compris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    	<SignedInfo>
    		<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
    		<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
    		<Reference>
    			<Transforms>
    				<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
    			</Transforms>
    			<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
    			<DigestValue>chiffresetlettrespasbeau</DigestValue>
    		</Reference>
    	</SignedInfo>
    	<SignatureValue>tralalaletrucsigné</SignatureValue>
    	<KeyInfo>
    		<KeyName>blablabla</KeyName>
    	</KeyInfo>
    <Signature>
    1) Le document à signer n'est pas présent dans la feuille XML, seul la signature y est (on peut bien sur inclure le nom du doc.).
    2) <Signature xmlns="..."> précise que la signature est conforme a la norme du w3c.
    3) <CanonicalizationMethod Algorithm="..."/> canonise le document à signer (le remet en forme ?).
    4) <SignatureMethod Algorithm="...#rsa-sha1"/> chiffrement via algorithme RSA-SHA1.
    5) <DigestMethod Algorithm="...#sha1"/> le doc canonisé sera HASHé via algo SHA1.
    6) <DigestValue> est le HASH créé par SHA1.
    7) <SignatureValue> et le "chiffré" du HASH soit la signature en elle-même.
    8) <KeyName> la clé PUBLIQUE utilisé pour chiffré le HASH.

    J'aurait aimé avoir des explication sur la canonisation (je n'ai pas réelement compris le but)
    et j'ai aussi lu tout plein de choses surement interressante a propos des REFERENCE
    mais mon cerveau n'a pas gardé les infos >.<

    Si on pouvait m'expliquer un peu plus le principe ?
    N'hésité pas a me poser des question ne serait-ce que pour voir si j'ai bien "pigé" le truc.

    Merci beaucoup.
    Cordialement,

    Rilou

  2. #2
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 143
    Par défaut
    Alors voici ma 2eme phase de compréhension...

    Dans le XML on va trouver :

    On trouve ::

    * un type de signature :
    - enveloppée -> pour ne signer qu'une partie du document.
    - enveloppante -> pour signer le document et par la même occasion le document XML créé.
    - détachée -> pour ne signer que le document (ce qui est mon cas on veut seulement créer une signature d'un fichier qu'un utilisateur aura envoyer via internet).

    ** Un algorithme de canonisation (CanonicalizationMethod)du doc XML :
    Alors ici ce que j'ai compris c'est que cette "méthode" est utilisée SEULEMENT pour le fichier XML lui même afin de le remettre en forme (soit supprimer toutes les bêtises qu'il y a dedans (comme par exemple les commentaires :p) car certains <PARSEUR XML> (style XPath et autres) n'interprètent pas tous de la même manière les commentaires, les espace dans les balises, etc...

    *** Un algorithme de signature (SignatureMethod) :
    Cette balise va nous indiquer l'algorithme utilisé pour créer la signature elle-même.
    Dans les exemples j'ai lu RSA-SHA1, j'en suis arrivé à supposer que c'est la combinaison du RSA et du SHA1 ?? ai-je tord ? :s

    **** Une ou plusieurs Références :
    Ici on indique le ou les documents signés.

    ***** Méthode de prétraitement (alias DigestMéthod) :
    Le type de HASHeur utilisé (hasheur c'est genre MD5 ?!O.O?!), ici SHA1 (c'est pour cela que plus haut j'ai parler du RSA-SHA1 ...).

    ****** Valeur du hash créé (DigestValue) :
    beh,..., le hash générer par le SHA1 lui-même... enfin je suppose :p

    ******* Valeur de la signature (SignatureValue):
    Alors ici on trouvera la signature elle même encodée en Base64 (kesako O.o ???)

    Alors ensuite dans <KeyValue> on va trouver les infos sur le certificat X509 utilisé et donc la clé publique utilisée pour la création de la signature via algo RSA-SHA1 ou seulement RSA je ne sais pas >.>

  3. #3
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Bonjour,
    Citation Envoyé par rilou Voir le message
    ** Un algorithme de canonisation (CanonicalizationMethod)du doc XML :
    Alors ici ce que j'ai compris c'est que cette "méthode" est utilisée SEULEMENT pour le fichier XML lui même afin de le remettre en forme (soit supprimer toutes les bêtises qu'il y a dedans (comme par exemple les commentaires :p) car certains <PARSEUR XML> (style XPath et autres) n'interprètent pas tous de la même manière les commentaires, les espace dans les balises, etc...
    Ce n'est pas exactement ça. Du point de vue d'un parseur XML, ces deux structures sont équivalentes (les données exposées sont les mêmes) :
    Il en est de même pour ceci :
    Si tous les parseurs XML interpréteront de la même manière chaque variante, la signature elle, qui est produite selon les données telles qu'elles sont écrites (sérialisées) et non telles qu'elles sont interprétées par un parseur XML, sera différente. C'est pour éviter cela que l'algorithme de canonisation réduit toutes les variantes en un seul format, un format canonique.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  4. #4
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 143
    Par défaut
    D'accord, mais dans ce cas, en quoi la canonisation s'applique t'elle à une signature détaché ?

    Puisque dans mon cas je veut signé un élément externe, il me faut juste générer un fichier "conteneur" de signature ...

    Malgrés cela, cette canonisation DOIT s'appliquée...

    Merci quand même pour la réponse. Mais qu'en est-il du reste ?

  5. #5
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Citation Envoyé par rilou Voir le message
    D'accord, mais dans ce cas, en quoi la canonisation s'applique t'elle à une signature détaché ?
    Ca garantit que tous les outils de signature, y compris celui que tu vas utiliser, génère bien la même signature pour un même document XML, même si sa représentation au format texte peut présenter plusieurs variantes, sans pour autant que les données en soient différentes. Au cours de son traitement dans uen chaîne complexe impliquant le passage par plusieurs parsers, le fichier signé peut subir de subtiles variations qui ne doivent pas pour autant invalider la signature.
    Citation Envoyé par rilou Voir le message
    Mais qu'en est-il du reste ?
    Désolé, n'ayant jamais dû utiliser la signature de fichiers XML, je ne peux guère t'en dire plus.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  6. #6
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 143
    Par défaut
    Désolé, n'ayant jamais dû utiliser la signature de fichiers XML, je ne peux guère t'en dire plus.
    Ce n'est pas grave, merci quand même pour les precision que tu m'a apporté sur la canonisation.

    Peut-être y a-t-il d'auter personnes qualifiées dans le domaine de la signature XML présentent sur le forum et qui voudraient bien m'aider ?!

    Merci

Discussions similaires

  1. Xml signature invalide
    Par friedman1987 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 21/04/2011, 16h15
  2. XML signature, DOM et noeuds null
    Par Saita dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 30/06/2010, 11h01
  3. [System.Security.Cryptography.Xml] Signature de fichiers XML
    Par melleb dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 15/04/2008, 10h04
  4. [XML] XML Signature
    Par OxygEn dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 29/06/2006, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo