2010-11-18 33 views
2

Certaines informations qu'un programme utilise utilisent des fichiers d'entrée au format xml. Les fichiers ont la structure suivante.Validation XML avec XMLDSIG utilisant l'algorithme XadES-BES

<?xml version="1.0" encoding="UTF-8"?> 
<Envelope xmlns="urn:envelope"> 
<MyData Id="MyDataId"> 
    <!-- some data --> 
</MyData> 
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> 
    <SignedInfo> 
    <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /> 
    <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig-more#rsa-sha256" /> 
    <Reference URI="#MyDataId"> 
    <Transforms> 
    <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /> 
    </Transforms> 
    <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" /> 
    <DigestValue> 
    <!-- digest for MyData --> 
    </DigestValue> 
    </Reference> 
    <Reference URI="#KeyInfoId"> 
    <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" /> 
    <DigestValue> 
    <!-- digest for KeyInfo --> 
    </DigestValue> 
    </Reference> 
    </SignedInfo> 
    <SignatureValue> 
    <!-- signature from SignedInfo data --> 
    </SignatureValue> 
    <KeyInfo id="KeyInfoId"> 
    <X509Data> 
    <X509Certificate> 
    <!-- some certificate --> 
    </X509Certificate> 
    </X509Data> 
    </KeyInfo> 
</Signature> 
</Envelope> 

J'ai trouvé quelques exemples avec une seule étiquette de référence, mais pas avec refereces Muliple ou seulement qui où déjà dans le reste du fichier xml. Je sais que l'encodage est XADES-BES. Est-ce que quelqu'un connaît un composant .NET 1.1 qui est capable de valider ce type de fichiers XML? Merci d'avance.

Cordialement,

René

Répondre

3

Le XML que vous montrez n'est pas vraiment une signature XAdES, mais un XMLDSIG. Vous pouvez le dire car il n'y a pas de noeud QualificationProperties (XAdES ajoute ce noeud, qui doit être à l'intérieur d'une balise Object, en tant qu'enfant de noeud Signature). Comme Ricardo l'a déjà dit, le projet dans lequel je travaille (XAdES .Net Project) devrait être capable de vérifier le XML que vous fournissez. Si ce n'est pas le cas, n'hésitez pas à ajouter un problème à notre outil de suivi des problèmes (vous devrez peut-être vous inscrire au codeplex, mais c'est gratuit). À ce stade, nous construisons toujours le squelette de notre bibliothèque (ce qui vise vraiment à implémenter XAdES dans .NET), donc vous pouvez trouver des bogues ou un manque de fonctionnalités. Si c'est le cas, n'hésitez pas à ajouter tout problème dont vous avez besoin.

De plus, nous avons développé la bibliothèque en utilisant .NET Framework 3.5, donc si vous ne pouvez vraiment utiliser que 1.1 cela ne fonctionnera pas :(Couche de sécurité après le changement de Framework 1.1, donc il n'est pas rétrocompatible. travailler en utilisant 2.0 et au-dessus.

J'espère que ça aide.

Cordialement,

Luis M. Villa

-1

Si vous avez encore besoin de générer des signatures XAdES, nous avons publié la version 1.0 alpha du projet XAdES .NET. Cette version de l'annonce La prise en charge ds des signatures XAdES-BES et certains fragments de code ont été réécrits pour être compatibles avec .NET 2.0 Framework.

Vous pouvez télécharger la version ici: XAdES .NET Project

Hope it helps,

Luis M. Villa