2016-11-08 103 views
0

我对.Net MVC更新颖,甚至更新Signatures。使用公开密钥签名XML

我必须签署一个XML文件开发,然后通过响应流发送给我的客户端。

结尾一堆与我的代码战斗是能够签署我的XML信封。 使用RSACryptoServiceProvider私钥,Dataobject,KeyInfo和所有内容。

但后来我的客户告诉我,我只能从他那里得到一个公钥。

经过一天的互联网搜索后,我仍然不知道如何。

所以我的问题: 我如何使用C#在.Net MVC中的公共密钥签署我的XML?

+1

你不用公钥签名。这就是私钥的用途。 – Amy

+0

然而,“封装”这个词可能意味着你也必须对它进行加密(通常你先签名然后加密,但如果接收者只接受你的消息,你也可以用相反的方法来加密)。加密是使用他们的公钥执行的。 –

回答

0

您不能用公钥来签名XML文件,公钥只用于验证。

对于签署,您需要一个私钥,这个密钥可以由OpenSSL生成。您可以暂时处理此问题,然后您应该请求您的客户将您的代码与他的密钥存储实施合并。

一旦你能够签名你的文件,你会看到作为签名文件的一部分的base64格式的证书,这个证书包括一个公钥,用于验证私钥完成的标志。

+0

谢谢:)我在一个月前就这么做了。客户端并不真的得到它,但... – Shaorandra