如何验证签名的XML文件的签名

10

我有一个使用“正常”的.NET框架中的SignedXml类创建的文件,它使用RSA算法进行签名。我想在Windows RT应用程序中使用XDocument检查其签名,最好的方法是什么?移植一些加密库还是有其他替代方案?


在WinRT中,您可以使用我们的SecureBlackbox,它提供了广泛的功能范围,包括XMLDSig/XAdES,并且适用于WinRT。 - Eugene Mayevski 'Callback
谢谢,但我想使用本地工具/免费代码/自己的代码来完成它。到目前为止,我还没有找到用第一个方法完成这个任务的方法。 - user2528931
这是一个非常酷的问题。我希望能看到一个相当全面的答案。 - vcsjones
当然可以使用Windows CryptographicEngine。您只需要自己制作摘要,我想这不会太难。XML Signature: How to calculate the digest value? - jbtule
2个回答

2

最初这是我的问题,我不知道为什么我的帐户被从网站上删除了。希望管理员能帮忙解决。

@borrel,也许我没有深入研究,但无论如何,如果你正在开发一些便携式东西以在Windows Phone 8上运行它,那么这个东西对你来说不存在。winrt中没有SignedXml

我找到了答案,所以步骤如下:

1)您需要计算XML数据的规范表示的SHA1哈希值。我的签名是RSA-SHA1,所以需要这个来获取摘要值。

在“普通”框架中,您可以使用XmlDsigc14nTransform

Mono代码提供了如何实现此操作的示例

2)使用Bouncy Castle库验证此摘要的rsa签名。


2位版主:请帮我恢复我的声望,或者解释一下为什么你们这样做。 - Mico
您可以在meta.stackoverflow.com上提出问题,询问管理员为什么禁止了您的账户。 - vcsjones

-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接