Jar包经过签名后,内置入了数字签名和public key,验证者可以使用这两项数据进行验证,从而可以使用Jar包。
JDK 提供了 keytool 和 jarsigner 两个工具用来进行 Jar 包签名和验证。keytool 用来生成和管理 keystore。keystore 是一个数据文件,存储了 key pair 有关的2种数据:private key 和 certificate,而 certificate 包含了 public key。jarsigner 读取 keystore,为 Jar 包进行数字签名。jarsigner 也可以对签名的 Jar 包进行验证。以下方法适用于JDK1.8环境。