手机
当前位置:查字典教程网 >编程开发 >Java >Java使用DSA密钥对生成XML签名的方法
Java使用DSA密钥对生成XML签名的方法
摘要:本文实例讲述了Java使用DSA密钥对生成XML签名的方法。分享给大家供大家参考。具体实现方法如下:MainClass.java代码如下:复...

本文实例讲述了Java使用DSA密钥对生成XML签名的方法。分享给大家供大家参考。具体实现方法如下:

MainClass.java代码如下:

复制代码 代码如下: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程序设计有所帮助。

【Java使用DSA密钥对生成XML签名的方法】相关文章:

java堆栈类使用实例(java中stack的使用方法)

使用ANT与YUI压缩js的实现方法

java使用Jsoup组件生成word文档

java中使用sax解析xml的解决方法

java中File类的使用方法

基于Java内存溢出的解决方法详解

java线程之使用Runnable接口创建线程的方法

解析Java线程同步锁的选择方法

java mail使用qq邮箱发邮件的配置方法

用递归查找有序二维数组的方法详解

精品推荐
分类导航