这里讲的手动签名就是使用JDK自带的jarsigner工具进行签名,在签名之前要使用JDK自带的keytool工具建一个keystore库。
JDK环境设置自行百度,本人的JDK/BIN目录已经在环境变量里面,所以可以直接运行该目录下的可执行文件
如果没设环境变量,请先使用CD命令进入JDK\BIN目录下
第一步,使用keytool工具建一个keystore库- keytool -genkey -alias x:\abc.keystore -keyalg RSA -validity 20000 -keystore x:\abc.keystore
复制代码 x:\abc.keystore是指输出的keystore路径和文件名,可以自定义
20000指证书有效期,可自定义
命令执行后需要输入一系列的信息,可自定义,如下图
第二步,使用jarsigner工具对jar包签名 我们先删掉jar里面的签名信息
- jarsigner -verbose -keystore x:\abc.keystore -signedjar X:\00000.jar x:\00001.jar x:\abc.keystore
复制代码 x:\abc.keystore就是第一步我们输出的那个keystore文件
X:\00000.jar是签名后输出的jar文件路径和文件名
x:\00001.jar是没签名前的jar文件路径和文件名
或者- jarsigner -keystore X:\x.keystore X:\x.jar X:\x.keystore
复制代码 使用这条命令会直接在原jar文件里面生成签名信息,不会重建创建一个jar文件
命令运行后需要输入前面创建keystore时的密码
签名成功
手动签名还可以使用openssl,有兴趣的可以去研究研究
最后再讲讲怎么查看*.rsa里面的证书信息,需要使用openssl
- openssl pkcs7 -inform DER -in X:\x.RSA -noout -print_certs -text
复制代码