【问题标题】:Digital signature with x509 certificate and encryption带有 x509 证书和加密的数字签名
【发布时间】:2012-05-01 22:33:23
【问题描述】:

我想签署将在服务器上验证的 xml 文档。我不知道如何使用 .cer 和 .pfx 文件等数字证书对 xml 文件进行签名和加密。我用谷歌搜索并找到了各种示例,但无法理解标准方式,即

对xml文件进行签名和加密的分步流程是什么

这里有个问题,

我想以这样的方式在客户端(.net c# 代码)上对文件进行签名和加密 可以在服务器上验证和解密的方式(java代码)

【问题讨论】:

    标签: c# java digital-signature x509 x509certificate2


    【解决方案1】:

    如果您想在 C# 和 Java 中都这样做,您可能想看看 BouncyCastle。这是一个流行的加密库,它支持 C# 和 Java。

    资源:http://www.bouncycastle.org/

    【讨论】:

    • 感谢重播。您能否提供使用 bouncycastle 对 xml 文件进行签名和加密的示例或步骤
    • XMLDSig 或 XMLEnc 从来都不是原始问题的要求。我只是说你可以使用 BouncyCastle 加密/解密文件。
    【解决方案2】:

    您需要的是 XMLDSig 和 XMLEnc(这些是用于以 XML 方式签名和加密 XML 的相应标准的名称,与将数据加密和签名为不透明 blob 的 PKCS7/CMS 相反)。

    Java 具有内置的 XMLDSig API (read the article here),但似乎没有 XMLEnc 的本地方式。

    .NET Framework 4.0 还具有用于 XML 签名和加密的内置机制,但它们并不那么明显。 See how-tos here.

    我们公司为名为 SecureBlackbox 的安全任务提供广泛的库,SecureBlackbox 包括对 XMLDSig、XMLEnc 和 XAdES 的灵活且易于使用的支持。 .NET 和 Java 版本均可用。阅读 SecureBlackbox 的details about XMLBlackbox 包。

    更新:如果您不关心格式并且您的 XML 数据的唯一路径是从一个特定的地方到另一个地方,那么您可以使用 PKCS#7/CMS 代替 XMLDSig 和 XMLEnc。 如上所述,CMS 将您的数据视为不透明的 blob,并将其包装成二进制数据。 BouncyCastle 是其中一种选择,SecureBlackbox 也可以使用。

    【讨论】:

      猜你喜欢
      • 2012-01-22
      • 2015-06-29
      • 1970-01-01
      • 1970-01-01
      • 2014-03-16
      • 2013-07-25
      • 1970-01-01
      • 2010-11-28
      • 1970-01-01
      相关资源
      最近更新 更多