❶ java 给Word添加数字签名 Java给Word添加数字签名的方法
Java 给Word添加数字签名 Java给Word添加数字签名的方法。数字签名是一种应用于数字数据的电子加密身份验证戳记,主要用于确认来自签名者的信息以及文档内容未被篡改。本文,将介绍如何使用Spire.DocforJava以编程方式向Word文档添加数字签名。
工具/材料
IntedliJIDEA
JDK1.8.0
Jar包:spire.doc.jar4.5.1
Word文档:.docx2013版
数字证书:.pfx及秘钥
操作方法
01
1.关于如何导入jar
1.1手动下载jar包,导入,
1.2maven仓库下载导入,须配置pom.xml文件,如下:
repositories
repository
idcom.e-iceblue/id
url
/repository
/repositories
dependencies
dependency
groupIde-iceblue/groupId
spire.doc
version4.5.1/version
/dependency
/dependencies
完成配置后方可下载导入。
02
Java代码:
importcom.spire.doc.*;
publicclassAddSignature{
publicstaticvoidmain(String[]args){
//加载Word文档
Documentdoc=newDocument();
doc.loadFromFile("test.docx");
//添加数字签名,并保存文档
doc.saveToFile("AddSignature.docx",FileFormat.Docx_2013,"Cermia.pfx","123654yes!");
}
}
03
运行程序,生成Word文档。可查看如下图中的签名添加效果:
❷ 数字签名的Java签名步骤
1、将applet的class文件打包成*.jar(不会的可以在命令行中输入jar查看帮助)
2 首先我们要生成一个keystore 否则在签名的时候报如下错误
jarsigner 错误: java.lang.RuntimeException: 密钥库装入: C:Documents and Settingsij2ee.keystore (系统找不到指定的文件。). (这边的ij2ee 是我当前系统用户名)
生成keystore的语句:keytool -genkey -alias 别名你可以自己写 -keyalg RSA -keystore .keystore
比如我的就是 keytool -genkey -alias ij2ee -keyalg RSA -keystore .keystore
下面是会出现的数字签名的一些步骤操作:
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
[Unknown]: ij2ee
您的组织单位名称是什么?
[Unknown]: mtk
您的组织名称是什么?
[Unknown]: mtk
您所在的城市或区域名称是什么?
[Unknown]: suzhou
您所在的州或省份名称是什么?
[Unknown]: jiangsu
该单位的两字母国家代码是什么
[Unknown]: cn
CN=ij2ee, OU=mtk, O=mtk, L=suzhou, ST=jiangsu, C=cn 正确吗?
[否]: y
输入<sfcs>的主密码
(如果和 keystore密码相同,按回车):
这时候会在jdk的bin目录下生成 .keystore 。把这个.keystore文件移动到 C:Documents and Settings当前系统用户的目录下面。
3、创建一个数字证书
在命令行中输入如下指令,peakCA和peakCALib自己起名字好了,3650是有效天数,就是10年左右,在创建证书的的时候,需要填写证书的一些信息和证书对应的私钥密码。这些信息包括 CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xx,都是中文,一看就懂的
keytool -genkey -alias peakCA -keyalg RSA -keysize 1024 -keystore peakCALib -validity 3650
4、将证书导出到证书文件中
在命令行中输入如下指令,peakCA和peakCALib自己起名字好了,******是你输入的密码
keytool -export -alias peakCA -file peakCA.cer -keystore peakCALib -storepass ****** -rfc
5、授权jar文件,在命令行中输入如下指令
jarsigner -keystore peakCALib myapplet.jar peakCA