Java代码签名与认证

来源:互联网 发布:eclipse 运行java程序 编辑:程序博客网 时间:2024/05/24 07:42

看了这一章的内容,觉得有的部分很熟悉,因为Android的签名认证就是使用的java的这一机制。签名和认证的过程如图:


至于公钥和私钥加密解密的过程和原理有待进一步研究。签名和认证的示例如下:

1. 编写类Friend和Stranger继承字Doer
2. 将Friend和Stranger分别打成jar包

jar cvf friend.jar com/artima/security/friend/*.classjar cvf stranger.jar com/artima/security/stranger/*.class
3. 生成两个密钥对
keytool -genkey -alias friend -keypass friend4life -validity 10000 -keystore ijvmkeyskeytool -genkey -alias stranger -keypass stranger4life -validity 10000 -keystore ijvmkeys
两次输入的密码需要一致。因为第二次添加key的时候需要访问keystore,于是就需要第一次设定的密码。
4. 使用jarsigner签名
jarsigner -keystore ijvmkeys -storepass ijvm2ed -keypass friend4life friend.jar friendjarsigner -keystore ijvmkeys -storepass ijvm2ed -keypass stranger4life stranger.jar stranger
签名过的jar包,修改其中的内容后,运行该jar包会报java.lang.SecurityException异常。
原创粉丝点击