使⽤Java对PDF进⾏电⼦签章
使⽤Java对PDF进⾏电⼦签章
开始之前
公司近期做的项⽬⽤到了电⼦签章(给PDF盖章签名),这过程真是曲折。恰逢现在时间⽐较空闲(有时间摸鱼)。我把签章的过程给记录下来前期准备
1. 需要签名的PDF (废话,没有PDF签什么名啊~)
2. 给PDF签名的印章图⽚(貌似也是废话)
3. keystore 证书⽂件(先认识认识,教程接下来会说怎么⽣成)
开始
⽣成keystore证书
安装有JDK的机器,并配置系统变量 (安装教程很多,⾃⾏百度)
搜索cmd选择管理员⾝份打开!(管理员⾝份运⾏!管理员⾝份运⾏!管理员⾝份运⾏!)
输⼊以下信息
keytool -genkey -alias lianyi -keyalg RSA -validity 30 -keystore android.keystore
说明:
-alias 证书别名
-alias 证书别名
数学特殊符号
-keyalg 算法,有两种:RSA 和 CipherSuite RSA
-validity 证书有效期,我这⾥是30天
-keystore 证书的名称以及路径(⽅便演⽰,我这⾥放在桌⾯)
输⼊⼝令的时候,出于安全考虑是不显⽰的。直接输⼊密码再次确认就⾏。
然后输⼊⼀些信息,按照提⽰输⼊就⾏。输⼊密钥⼝令的时候如果和上⾯密钥库⼝令相同可以直接回车,我这⾥使⽤相同的,直接回车。
回车完之后在哪⾥找到呢?
打开C盘 -> ⽤户 -> [⽤户名] 就可以找到刚才⽣成的证书了。
来张材料全家福
苟全性命于乱世
⾄此,需要的资料就准备完毕了~
接下来…废话少说,直接上号编码
创建项⽬:
输⼊⼯程名,组织名,不说了
什么都不选,等下⾃⼰加
瞄⼀眼pom⽂件⾥加的坐标,其实都可以从maven库⾥找到
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="maven.apache/POM/4.0.0" xmlns:xsi="www.w3/2001/XMLSchema-instance" xsi:schemaLocation="maven.apache/POM/4.0.0 maven.apache/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
<relativePath/><!-- lookup parent from repository -->
</parent>
<groupId&le</groupId>
提高记忆力培训
<artifactId>keystore-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>keystore-demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.4.0</version>
</dependency>
<!-- /artifact/com.itextpdf/itextpdf -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.10</version>
</dependency>
<!-- /artifact/com.itextpdf/itext-asian -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
南京长江大桥课文<version>5.2.0</version>
</dependency>
潍坊美食<!-- /artifact/org.bouncycastle/bcpkix-jdk15on --> <dependency>
<groupId>org.bouncycastle</groupId>公众号预约系统
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.60</version>
</dependency>
我不会难过<!-- /artifact/org.bouncycastle/bcprov-jdk15on --> <dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.60</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
一年级字
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
项⽬结构