【问题标题】:sign XML with public Key使用公钥签署 XML
【发布时间】:2016-11-08 15:37:17
【问题描述】:

我对 .Net MVC 还比较陌生,对 Signatures 也比较陌生。

我必须签署一个封装的 XML 文件,然后将其与响应流一起发送给我的客户端。

在与代码进行了一大堆斗争之后,我能够签署我的 XML Enveloped。 使用 RSACryptoServiceProvider 私钥、Dataobject、KeyInfo 和一切。

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

在网上搜索了一天后,我仍然不知道如何。

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

【问题讨论】:

  • 您没有使用公钥签名。这就是私钥的用途。
  • 然而,“envelope”这个词可能意味着你也必须加密它(通常你先签名然后加密,但你也可以反过来做,如果接收者只接受你的消息)。使用他们的公钥进行加密。

标签: c# xml public-key-encryption xml-signature


【解决方案1】:

您不能使用公钥签署 XML 文件,公钥仅用于验证。

对于签名,您需要一个私钥,该密钥可以由 OpenSSL 生成。您可以暂时解决这个问题,然后您应该要求您的客户将您的代码与他的密钥库实现合并。

一旦您能够对文件进行签名,您将看到 base64 格式的证书作为签名文档的一部分,该证书包含一个公钥,用于验证由私钥完成的签名。

【讨论】:

  • 谢谢 :) 大约一个月前我就这样做了。客户并没有真正理解它......
猜你喜欢
  • 2010-10-05
  • 1970-01-01
  • 2014-01-08
  • 2018-09-03
  • 2020-03-06
  • 1970-01-01
  • 1970-01-01
  • 2022-07-25
  • 1970-01-01
相关资源
最近更新 更多