2010-11-18 10 views
2

Einige Informationen, die ein Programm verwendet, verwenden Eingabedateien im XML-Format. Die Dateien haben die folgende Struktur.XML-Validierung mit XMLDSIG mit dem XadES-BES-Algorithmus

<?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> 

fand ich einige Beispiele mit nur einem Referenz-Tag, aber nicht mit muliple oder nur refereces, die bereits in dem Rest der XML-Datei, in der. Ich weiß, dass die Codierung XADES-BES ist. Kennt jemand eine .NET 1.1-Komponente, die in der Lage ist, diese Art von XML-Dateien zu validieren? Danke im Voraus.

Grüße,

René

Antwort

3

Die XML, die Sie zeigen, ist nicht wirklich eine XAdES-Signatur, sondern eine XMLDSIG. Sie können das erkennen, weil es keinen QualifyingProperties Knoten gibt (XAdES fügt diesen Knoten hinzu, der in einem Objekt-Tag sein muss, als Kind Signatur Knoten).

Wie schon Ricardo sagte, sollte das Projekt, in dem ich arbeite (XAdES .Net Project), in der Lage sein, das von Ihnen angegebene XML zu verifizieren. Falls nicht, können Sie gerne ein Problem in unserem Issue Tracker hinzufügen (Sie müssen sich vielleicht bei Codeplex registrieren, aber es ist kostenlos).

An diesem Punkt bauen wir immer noch das Skelett unserer Bibliothek (was wirklich zu implementieren ist XAdES in .NET), so dass Sie Fehler oder fehlende Features finden können. Wenn ja, dann zögern Sie nicht, ein Problem hinzuzufügen, das Sie brauchen.

Auch haben wir die Bibliothek mit .NET Framework 3.5 so entwickelt, wenn Sie wirklich nur 1.1 verwenden können, wird es nicht funktionieren :(Sicherheitsstufe nach Framework 1.1 geändert, so ist es nicht abwärtskompatibel. Ich denke, es wird Verwendung von 2,0 und höher arbeiten.

ich hoffe, es hilft.

Grüße,

Luis M. Villa

-1

Im Fall, dass Sie noch XAdES Signaturen erzeugen, wir 1.0 alpha-Version veröffentlicht haben von XAdES .NET Project. Diese Version Anzeige ds unterstützt XAdES-BES-Signaturen, und einige Codefragmente wurden so umgeschrieben, dass sie mit .NET 2.0 Framework kompatibel sind.

können Sie die Veröffentlichung hier herunterladen: XAdES .NET Project

Hoffe, dass es,

Luis M. Villa