首页 文章

带x509证书和加密的数字签名

提问于
浏览
0

我想签署将在服务器上验证的xml文档 . 我不知道如何使用.cer和.pfx文件等数字证书对xml文件进行签名和加密 . 我google了,发现了各种各样的例子,但无法理解标准方式,即

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

这里有一个问题,

我想在客户端(.net c#代码)上签名和加密文件,以便在服务器上验证和解密(java代码)

2 回答

  • 1

    如果您想在C#和Java中执行此操作,您可能需要查看BouncyCastle . 这是一个用于加密的流行库,它支持C#和Java .

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

  • 0

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

    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也可以使用 .

相关问题