文章摘要
本文介绍了如何在CMD命令行工具中使用JDK的jarsigner工具对Java JAR包进行数字签名。首先,需要安装JDK环境,然后生成一个密钥库(keystore),并使用keytool工具为其设置名称和有效性。接着,导出密钥库中的数字证书(cer文件)。最后,通过jarsigner工具对目标JAR文件(如Hello.jar)进行签名,并在CMD中验证签名是否成功。数字签名的目的在于增强JAR文件的安全性,特别是在使用JNLP协议或Applet时,确保仅受信任的来源能够加载和执行。
使用 CMD 命令如何给 Java jar 包数字签名操作?下面带大家一起看看吧。JDK 中自带了一个 jar 包签名工具 jarsigner,可用来给 jar 包做签名。此工具需要一个 keystore 文件,可用 JDK 中的 keytool 工具生成。为什么 JAR 要被签名?当用户启动一个 Java Network Launching Protocol (JNLP,Java 网络加载协议)文件或使用一个 applet 时,这个 JNLP 或 applet 请求系统提供超过一般的访问。
第一步:
安装好 Java 环境:配置 Java 环境教程
第二步:
打开 CMD 命令生成名为 DaYanZai.store 的密钥库,别名为 DaYanZai,输入:
1 | keytool -genkey -keystore DaYanZai.store -alias DaYanZai -validity 55555 |
密码:123456 (根据需要自己输入) 其它选项根据需要输入,最后确认:y
提示:该证名书默认期限为 6 个月。为了能使应用程序不受时间的限制,keytool 命令提供了一个参数 validity,利用它可以指定签名有效日。
第三步:
导出 DaYanZai.cer 数字证书
1 | keytool -export -keystore DaYanZai.store -alias DaYanZai -file DaYanZai.cer |
密码:123456 (根据需要自己输入)
第四步:
对 Hello.jar文件进行签名
1 | jarsigner -keystore DaYanZai.store D:\hello.jar DaYanZai |
现在你的 jar 已经被签名了。运行 JARsigner -verbose -verify Hello.jar 可以确定这个 jar 已经被成功签名,现在你可以更好地控制你的 JNLP 或 applet 的安全模型。
© 版权声明
文章版权归作者所有,未经允许请勿转载。