源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Java使用DSA密钥对生成XML签名的方法

  • 时间:2021-01-29 01:30 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Java使用DSA密钥对生成XML签名的方法
本文实例讲述了Java使用DSA密钥对生成XML签名的方法。分享给大家供大家参考。具体实现方法如下: MainClass.java代码如下:
[u]复制代码[/u] 代码如下:
import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.SecureRandom; import java.util.Collections; import javax.xml.crypto.dsig.CanonicalizationMethod; import javax.xml.crypto.dsig.DigestMethod; import javax.xml.crypto.dsig.Reference; import javax.xml.crypto.dsig.SignatureMethod; import javax.xml.crypto.dsig.SignedInfo; import javax.xml.crypto.dsig.XMLSignature; import javax.xml.crypto.dsig.XMLSignatureFactory; import javax.xml.crypto.dsig.keyinfo.KeyInfo; import javax.xml.crypto.dsig.keyinfo.KeyInfoFactory; import javax.xml.crypto.dsig.keyinfo.KeyValue; import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec; public class MainClass {   public static void main(String[] args) throws Exception {     KeyPairGenerator kpg = KeyPairGenerator.getInstance("DSA");     kpg.initialize(1024, new SecureRandom());     KeyPair dsaKeyPair = kpg.generateKeyPair();     XMLSignatureFactory sigFactory = XMLSignatureFactory.getInstance();     Reference ref = sigFactory.newReference("#Body", sigFactory.newDigestMethod(DigestMethod.SHA1, null));     SignedInfo signedInfo = sigFactory.newSignedInfo(sigFactory.newCanonicalizationMethod(         CanonicalizationMethod.INCLUSIVE_WITH_COMMENTS, (C14NMethodParameterSpec) null), sigFactory.newSignatureMethod(SignatureMethod.DSA_SHA1, null), Collections.singletonList(ref));     KeyInfoFactory kif = sigFactory.getKeyInfoFactory();     KeyValue kv = kif.newKeyValue(dsaKeyPair.getPublic());     KeyInfo keyInfo = kif.newKeyInfo(Collections.singletonList(kv));     XMLSignature xmlSig = sigFactory.newXMLSignature(signedInfo, keyInfo);   } }
希望本文所述对大家的java程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部