2

程序使用的某些信息使用 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 组件?提前致谢。

问候,

勒内

4

5 回答 5

4

您显示的 XML 并不是真正的 XAdES 签名,而是 XMLDSIG。您可以看出这是因为没有QualifyingProperties节点(XAdES 添加了这个节点,它必须在Object标记内,作为Signature节点的子节点)。

正如 Ricardo 之前所说,我正在从事的项目(XAdES .Net Project)应该能够验证您提供的 xml。如果没有,请随时在我们的问题跟踪器中添加问题(您可能需要在 codeplex 注册,但它是免费的)。

在这一点上,我们仍在构建我们的库的骨架(真正旨在实现的是 .NET 中的 XAdES),因此您可能会发现错误或缺少功能。如果是这样,请再次随意添加您需要的任何问题。

此外,我们使用 .NET Framework 3.5 开发了该库,因此,如果您真的只能使用 1.1,它将无法工作:(Framework 1.1 更改后的安全层,因此它不向后兼容。我认为它可以使用 2.0 和以上。

我希望它有所帮助。

问候,

路易斯·M·维拉

于 2010-11-20T10:50:23.323 回答
1

请参阅Microsoft 的 SignedXml 类

于 2013-11-20T13:00:34.060 回答
0

试试这个项目:

http://xadesnet.codeplex.com/

于 2010-11-18T14:21:03.930 回答
-1

如果您仍然需要生成 XAdES 签名,我们已经发布了 XAdES .NET 项目的 1.0 alpha 版本。该版本增加了对 XAdES-BES 签名的支持,并且重写了一些代码片段以兼容 .NET 2.0 Framework。

您可以在此处下载该版本: XAdES .NET 项目

希望能帮助到你,

路易斯·M·维拉

于 2010-12-09T22:47:48.940 回答
-1

我们的 SecureBlackbox 产品支持.NET 中的 XMLDSig、XMLEnc 和 XAdES 标准(包括 Mono、.NET CF 和 Silverlight)。

于 2010-11-18T17:49:14.410 回答