package com.shine.jarsigner.stranger;
import java.security.AccessController;
import java.security.PrivilegedAction;
import com.shine.jarsigner.doer.Doer;
public class Stranger implements Doer {
private Doer next;
private boolean direct;
public Stranger(Doer next,boolean direct){
this.next = next;
this.direct = direct;
}
@Override
public void doYourThing() {
if(direct){
next.doYourThing();
}else{
AccessController.doPrivileged(
new PrivilegedAction() {
public Object run(){
next.doYourThing();
return null;
}
}
);
}
}
}
Stranger.java 编译完会生成 Stranger.class、Stranger$1.class
1、生成jar 包: >jar cvf stranger.jar com/shine/jarsigner/stranger/*.class
2、生成密锁对,包含公钥和私钥,执行命令的目录必须是jar包所在同级目录,回车后要求输入keystore密码是:ijvm2ed
执行完命令,会在同级目录生成ijvmkeys文件
>keytool -genkey -alias stranger -keypass stranger4life -validity 10000 -keystore ijvmkeys
3、jarsigner签名:
使用私钥加密
>jarsigner -keystore ijvmkeys -storepass ijvm2ed -keypass stranger4life stranger.jar stranger