有没有更简单的方法在 Java 中签署 XML 文档?

2024-03-12

我试图对 XML 文档进行数字签名 http://www.w3.org/TR/xmldsig-core/使用Java。我有一个与一些参考文献一起使用的实现,我发现它们在javax.xml.crypto.dsig http://java.sun.com/javase/6/docs/api/javax/xml/crypto/dsig/package-summary.html包裹。

但是,我目前的实现就像many http://java.sun.com/developer/technicalArticles/xml/dig_signatures/ of the examples http://www.java-tips.org/java-ee-tips/xml-digital-signature-api/using-the-java-xml-digital-signatur-2.html我看过 - 它相当冗长,并且涉及使用不少于 23 个不同的 API 类java.xml.crypto.dsig, javax.xml.transform, and java.security包等。感觉就像我进入了工厂 工厂 工厂 http://discuss.joelonsoftware.com/default.asp?joel.3.219431.12着陆,我花了几个小时才弄清楚发生了什么事。

我的问题是,有没有更简单的方法来做到这一点?如果我有公钥/私钥文件并且我想添加<Signature/>对于 XML 文档,是否有一个库可以让我调用如下内容:

OutputStream signFile(InputStream xmlFile, File privateKey)

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

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


看看Apache XML 安全性 http://santuario.apache.org/javaindex.html。要使用该包生成和验证签名,请查看中的示例src_samples/org/apache/xml/security/samples/signature/ https://svn.apache.org/repos/asf/santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/signature/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有更简单的方法在 Java 中签署 XML 文档? 的相关文章

随机推荐