本文实例讲述了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 xml签名_Java使用DSA密钥对生成XML签名的方法相关推荐

  1. java如何将数据保存为xml6_用Java实现可保存状态的数据库生成XML树,源码来了(9)...

    用Java实现可保存状态的数据库生成XML树,源码来了(9) 时间:2006/7/19 5:38:30 作者:佚名 人气:30 6.3.2.Servlet源码 1.RefreshServlet.jav ...

  2. java和签名工具_java 证书工具keytool生成自签名证书和自签CA证书

    jdk自带的证书管理工具叫keytool,在jdk/bin目录下,可以用来生成自签名证书.导入导出证书.打印证书信息等. 1. 名词 自签名证书:用自己的私钥签发自己的公钥即主体信息生成的证书. 证书 ...

  3. java jdom 设置第1行_Java通过jdom操作生成XML文件的实例代码下载

    工作需要,要生成xml文件,所以做了个小demo分享一下. 看代码吧~ main()里面没什么好说的 该写的都写了public static void main(String[] args) { // ...

  4. java webservice序列化_java – 可以用CXF生成可序列化的类吗?

    我在这里找到了解决方案,如果有人在将来需要它: 1.将此插件添加到pom.xml org.apache.cxf cxf-codegen-plugin ${cxf.version} generate-s ...

  5. java ios 字符串_Java 与 iOS使用RSA 加密签名

    RSA算法是一种非对称加密算法,常被用于加密数据传输.如果配合上数字摘要算法, 也可以用于文件签名. 本文将讨论如何在iOS中使用RSA传输加密数据. 本文环境 mac os openssl-1.0. ...

  6. php dsa 签名,openssl使用DSA算法生成签名实例详解_PHP教程

    文章给大家介绍基于openssl使用DSA算法生成签名实例,生成签名方法很简单,我们需要懂得中间的原理就比较复杂了,大家一起来看看吧. 命令: openssl> dgst -dss1 -sign ...

  7. oxygen 生成java对象_利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析...

    首先下载oxygen软件(Oxygen XML Editor),目前使用的是试用版(可以安装好软件以后get trial licence,获得免费使用30天的权限,当然这里鼓励大家用正版软件!!!) ...

  8. dsa签名 linux_openssl使用DSA算法生成签名

    命令: openssl> dgst -dss1 -sign C.pri -out signature.bin s.txt 解释 C.pri是DSA算法生成的私钥文件 s.txt是制作签名的原文 ...

  9. java模板变量_java freemarker + word 模板 生成 word 文档 (变量替换,数据的循环,表格数据的循环,以及图片的替换)...

    1,最近有个需求,动态生成 Word 文当并供前端下载,网上找了一下,发现基本都是用 word 生成 xml 然后用模板替换变量的方式 1.1,这种方式虽然可行,但是生成的 xml 是在是太乱了,整理 ...

最新文章

  1. ABAP算法:找出递归的物料
  2. Research on NFT
  3. 为恶意文件“画像” 瀚思科技基于深度学习技术快速锁定未知威胁
  4. SAP Spartacus里,点击checkbox右边的span文本,不会触发checkbox勾选的原因
  5. 常用MIME类型,解决IIS布署后字体文件、mp4视频文件等not found 的错误
  6. windows下JAVA环境变量配置
  7. C.Fountains(Playrix Codescapes Cup (Codeforces Round #413, rated, Div. 1 + Div. 2)+线段树+RMQ)...
  8. 递归+分治+贪心+动态规划
  9. C#的winform中MDI 父窗体改变背景色[转]
  10. 【Kindle】pdf转mobi适合kindle查看格式
  11. # 2021-01-13 #「Docker Compose」- 在 CI/CD 中,分离 docker-compose build 与 docker-compose up 指令
  12. 使用google earth engine(GEE)提取亚马逊每年森林火灾区域
  13. SMS发送流程 Android2.2
  14. python中使用requests库获取昵图网图片,且正则中re.S的用法
  15. python numpy.arry, pytorch.Tensor及原生python中list相互转换
  16. 天龙八部搭建mysql教程_天龙八部私服架设mysql数据库安装
  17. 午夜00:37分,与蚊子相伴无眠之夜
  18. Oracle 中经常遇到的一些问题
  19. python 模块使用(二十九)之xlutils
  20. Stanford cs140 Pintos Project2实验目标

热门文章

  1. SAP Commerce Cloud 新一代 UI Spartacus 和 Customer Data cloud 的集成
  2. 一个用于SAP UI5学习的脚手架应用,没有任何后台API的依赖
  3. Angular 父子Component的数据绑定实现
  4. 浅谈Java和SAP ABAP的静态代理和动态代理,以及ABAP面向切面编程的尝试
  5. Amount Format in SAP Fiori Opportunity
  6. 使用application log 分析navigation target解析错误
  7. 部署在Netweaver上的Fiori应用的WebContent文件夹
  8. Postman的console视图
  9. How Kyma plugin is initiated by WordPress
  10. 如何调试后台作业 - how to debug background job