使用 CMD 命令如何给 Java jar 包数字签名操作?JDK 中自带了一个 jar 包签名工具 jarsigner,可用来给 jar 包做签名。
![1a15bcd45c1c19b1e843a0165ae38a51.png](https://i-blog.csdnimg.cn/blog_migrate/9080c6174a3a87ec6ed2a53f189236d5.jpeg)
此工具需要一个 keystore 文件,可用 JDK 中的 keytool 工具生成。
为什么 JAR 要被签名?当用户启动一个 Java Network Launching Protocol (JNLP,Java 网络加载协议)文件或使用一个 applet 时,这个 JNLP 或 applet 请求系统提供超过一般的访问。
具体操作如下:
第一步:
安装好 Java 环境:配置 Java 环境教程
第二步:
打开 CMD 命令生成名为 itbang.store的密钥库,别名为 itbang,输入:
keytool -genkey -keystore itbang.store -alias DaYanZai -validity 55555
密码:123456 (根据需要自己输入) 其它选项根据需要输入,最后确认:y
提示:该证名书默认期限为 6 个月。为了能使应用程序不受时间的限制,keytool 命令提供了一个参数 validity,利用它可以指定签名有效日。
第三步:
导出 itbang.cer 数字证书
keytool -export -keystore itbang.store -alias DaYanZai -file itbang.cer
密码:123456 (根据需要自己输入)
第四步:
对 Hello.jar文件进行签名
jarsigner -keystore itbang.store D:hello.jar itbang
现在你的 jar 已经被签名了。运行 JARsigner -verbose -verify Hello.jar 可以确定这个 jar 已经被成功签名,现在你可以更好地控制你的 JNLP 或 applet 的安全模型。