程序使用的某些信息使用 xml 格式的输入文件。这些文件具有以下结构。
<?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>
我发现了一些只有一个引用标记的示例,但没有多个或仅引用已经在 xml 文件的其余部分中的示例。我知道编码是 XADES-BES。有谁知道能够验证这种 XML 文件的 .NET 1.1 组件?提前致谢。
问候,
勒内