java xml签名_Java使用DSA密钥对生成XML签名的方法
本文实例讲述了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签名的方法相关推荐
- java如何将数据保存为xml6_用Java实现可保存状态的数据库生成XML树,源码来了(9)...
用Java实现可保存状态的数据库生成XML树,源码来了(9) 时间:2006/7/19 5:38:30 作者:佚名 人气:30 6.3.2.Servlet源码 1.RefreshServlet.jav ...
- java和签名工具_java 证书工具keytool生成自签名证书和自签CA证书
jdk自带的证书管理工具叫keytool,在jdk/bin目录下,可以用来生成自签名证书.导入导出证书.打印证书信息等. 1. 名词 自签名证书:用自己的私钥签发自己的公钥即主体信息生成的证书. 证书 ...
- java jdom 设置第1行_Java通过jdom操作生成XML文件的实例代码下载
工作需要,要生成xml文件,所以做了个小demo分享一下. 看代码吧~ main()里面没什么好说的 该写的都写了public static void main(String[] args) { // ...
- java webservice序列化_java – 可以用CXF生成可序列化的类吗?
我在这里找到了解决方案,如果有人在将来需要它: 1.将此插件添加到pom.xml org.apache.cxf cxf-codegen-plugin ${cxf.version} generate-s ...
- java ios 字符串_Java 与 iOS使用RSA 加密签名
RSA算法是一种非对称加密算法,常被用于加密数据传输.如果配合上数字摘要算法, 也可以用于文件签名. 本文将讨论如何在iOS中使用RSA传输加密数据. 本文环境 mac os openssl-1.0. ...
- php dsa 签名,openssl使用DSA算法生成签名实例详解_PHP教程
文章给大家介绍基于openssl使用DSA算法生成签名实例,生成签名方法很简单,我们需要懂得中间的原理就比较复杂了,大家一起来看看吧. 命令: openssl> dgst -dss1 -sign ...
- oxygen 生成java对象_利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析...
首先下载oxygen软件(Oxygen XML Editor),目前使用的是试用版(可以安装好软件以后get trial licence,获得免费使用30天的权限,当然这里鼓励大家用正版软件!!!) ...
- dsa签名 linux_openssl使用DSA算法生成签名
命令: openssl> dgst -dss1 -sign C.pri -out signature.bin s.txt 解释 C.pri是DSA算法生成的私钥文件 s.txt是制作签名的原文 ...
- java模板变量_java freemarker + word 模板 生成 word 文档 (变量替换,数据的循环,表格数据的循环,以及图片的替换)...
1,最近有个需求,动态生成 Word 文当并供前端下载,网上找了一下,发现基本都是用 word 生成 xml 然后用模板替换变量的方式 1.1,这种方式虽然可行,但是生成的 xml 是在是太乱了,整理 ...
最新文章
- ABAP算法:找出递归的物料
- Research on NFT
- 为恶意文件“画像” 瀚思科技基于深度学习技术快速锁定未知威胁
- SAP Spartacus里,点击checkbox右边的span文本,不会触发checkbox勾选的原因
- 常用MIME类型,解决IIS布署后字体文件、mp4视频文件等not found 的错误
- windows下JAVA环境变量配置
- C.Fountains(Playrix Codescapes Cup (Codeforces Round #413, rated, Div. 1 + Div. 2)+线段树+RMQ)...
- 递归+分治+贪心+动态规划
- C#的winform中MDI 父窗体改变背景色[转]
- 【Kindle】pdf转mobi适合kindle查看格式
- # 2021-01-13 #「Docker Compose」- 在 CI/CD 中,分离 docker-compose build 与 docker-compose up 指令
- 使用google earth engine(GEE)提取亚马逊每年森林火灾区域
- SMS发送流程 Android2.2
- python中使用requests库获取昵图网图片,且正则中re.S的用法
- python numpy.arry, pytorch.Tensor及原生python中list相互转换
- 天龙八部搭建mysql教程_天龙八部私服架设mysql数据库安装
- 午夜00:37分,与蚊子相伴无眠之夜
- Oracle 中经常遇到的一些问题
- python 模块使用(二十九)之xlutils
- Stanford cs140 Pintos Project2实验目标
热门文章
- SAP Commerce Cloud 新一代 UI Spartacus 和 Customer Data cloud 的集成
- 一个用于SAP UI5学习的脚手架应用,没有任何后台API的依赖
- Angular 父子Component的数据绑定实现
- 浅谈Java和SAP ABAP的静态代理和动态代理,以及ABAP面向切面编程的尝试
- Amount Format in SAP Fiori Opportunity
- 使用application log 分析navigation target解析错误
- 部署在Netweaver上的Fiori应用的WebContent文件夹
- Postman的console视图
- How Kyma plugin is initiated by WordPress
- 如何调试后台作业 - how to debug background job