Keytool + Jarsigner 实现jar签名
一、必要性
jar包的签名和认证是指在打包时会根据jar文件结构hash生成对应的摘要(固定长度128),为了防止对文件进行篡改,对hash摘要运用私钥进行加密,该过程称为签名。Jvm加载class文件时会在类加载器中对jar文件结构、长度进行校验其中包括jar签名的认证校验。
二、Keytool生成秘钥对
1、环境:
- Windows + jdk
- 在系统环境变量里面配置jdk参数
2、keytool的使用
- 创建文件夹test,用于存放密钥文件
- cmd 窗口 输入 以下代码
keytool -genkey -keystore keys.keystore -keyalg RSA -validity 10000 -alias abc.keystore
# 生成密钥对,这个密钥对的别名是 abc.keystore,采用的加密算法为RSA
# 密钥对的过期时间是10000天,密钥对存储的文件名keys.keystore
# 查看keys.keystore的密码和abc.keystore密钥对的查看密码我们设置为pwd123
- 查看生成的秘钥文件
keytool -list -v -keystore keys.keystore
# 执行后会要求输入密码:pwd123