java xml 签名_【Java密码学】Java SE 6中XML数字签名的实现

本文展示了如何在Java SE 6中使用XMLSignatureFactory和相关类来实现XML文档的数字签名。通过创建SignedInfo、Reference、KeyInfo等元素,结合DSA算法生成签名,确保XML数据的安全性。同时,提供了保存和加载密钥的方法,以及验证签名的流程。
摘要由CSDN通过智能技术生成

package test.xml.signature;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.ObjectOutputStream;importjava.security.Key;importjava.security.KeyFactory;importjava.security.KeyPair;importjava.security.KeyPairGenerator;importjava.security.PrivateKey;importjava.security.PublicKey;importjava.security.spec.EncodedKeySpec;importjava.security.spec.PKCS8EncodedKeySpec;importjava.security.spec.X509EncodedKeySpec;importjava.util.Collections;importjava.util.List;importjavax.xml.crypto.dom.DOMStructure;importjavax.xml.crypto.dsig.CanonicalizationMethod;importjavax.xml.crypto.dsig.DigestMethod;importjavax.xml.crypto.dsig.Reference;importjavax.xml.crypto.dsig.SignatureMethod;importjavax.xml.crypto.dsig.SignedInfo;importjavax.xml.crypto.dsig.Transform;importjavax.xml.crypto.dsig.XMLSignature;importjavax.xml.crypto.dsig.XMLSignatureFactory;importjavax.xml.crypto.dsig.dom.DOMSignContext;importjavax.xml.crypto.dsig.dom.DOMValidateContext;importjavax.xml.crypto.dsig.keyinfo.KeyInfo;importjavax.xml.crypto.dsig.keyinfo.KeyInfoFactory;importjavax.xml.crypto.dsig.keyinfo.KeyValue;importjavax.xml.crypto.dsig.spec.C14NMethodParameterSpec;importjavax.xml.crypto.dsig.spec.TransformParameterSpec;importjavax.xml.parsers.DocumentBuilderFactory;importjavax.xml.transform.Transformer;importjavax.xml.transform.TransformerFactory;importjavax.xml.transform.dom.DOMSource;importjavax.xml.transform.stream.StreamResult;importorg.w3c.dom.Document;importorg.w3c.dom.Node;importorg.w3c.dom.NodeList;public classSignatureXML {public void saveKey(PublicKey publicKey, PrivateKey privateKey) throwsException{

X509EncodedKeySpec ksp= newX509EncodedKeySpec(publicKey.getEncoded(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值