java - 有没有更简单的方法来用 Java 签署 XML 文档?

标签 java xml cryptography digital-signature xml-signature

我正在尝试 digitally sign an XML document使用Java。我有一个实现与一些引用一起工作我发现在 javax.xml.crypto.dsig 中使用各种实现包。

但是,我当前的实现类似于 manyexamples我看过 - 它相当冗长,涉及使用来自 java.xml.crypto.dsig 的不少于 23 个不同的 API 类, javax.xml.transform , 和 java.security包裹等等。感觉进入了factory factory factory着陆,我花了几个小时才弄清楚发生了什么。

我的问题是,有更简单的方法吗?如果我有公钥/私钥文件并且我想添加一个 <Signature/>对于 XML 文档,是否有一个库可以让我调用类似的东西:

OutputStream signFile(InputStream xmlFile, File privateKey)

...没有所有的 XMLSignatureFactory/CanonicalizationMethod/DOMSignContext 疯狂?

我不是很精通密码学,而且 Java 提供的 API 对于像我这样试图熟悉数字签名的开发人员来说似乎相当令人生畏。如果所有这些都是必要的,或者目前没有更友好的 API,那很好,我愿意接受它作为答案。我只是想知道我是否不必要地走上了艰难的道路。

最佳答案

看看Apache XML Security .要使用该包生成和验证签名,请查看 src_samples/org/apache/xml/security/samples/signature/ 中的示例.

关于java - 有没有更简单的方法来用 Java 签署 XML 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2052251/

相关文章:

java - 在 java JFace 对话框中禁用关闭按钮?

java - 将扩展 JTable 添加到 JFrame

c++ - 使用 openssl 的 SHA 512 HMAC 消息身份验证问题

java - Spring 添加监听器作为组件而不是通过构造函数

java - java中Arraylist<Integer>的ArrayList的字典排序

python - 使用 python xml 库将 XML 转换为 csv

ruby - 为什么 Ruby Builder::XmlMarkup 向 xml 添加检查标签?

xml - powershell XML Writer 嵌套循环

cryptography - 基于 key 大小的 RSA 性能

c# - JWT Web token 加密 - SecurityAlgoritms.HmacSha256 与 SecurityAlgoritms.HmacSha256Signature