1.文件打包
jar cf myname.jar *.class
2.证书位置
自签名的数字证书要放在一个文件中(通常称为“密钥链”(keychain)),如果输入
keytool -list
那么访问缺省文件,如果没有这个文件,那么就要创建一个,或指定一个已存在的文件。一般为“cacerts”,运行:
keytool -list -file <path/filename>
缺省位置一般为:
{java.home}/lib/security/cacerts
3.创建签名
运行:
keytool -genkey -alias <keyname> -keystore <url>
这里keyname就是为你的密钥取一个别名,url就放密钥的位置,通常为"cacerts".按提示输入密码等信息。
keytool有很多的运行参数,如-valid就是可以指定密钥的有效天数。
4.查看新建的密钥
运行:
keytool -list -keystore <url>
5.给自己的jar文件签名
运行:
jarsigner -keystore <url> <jarfile> <keyname>
url表示cacerts文件的位置,jarfile是自己的jar文件的名称,keyname是密钥的名称。
6.在网页用使用
现在就有一个jar文件,它标识成是采用自己提供的密钥进行签名的,这样子就能保证在签名之后,这个jar文件没有被篡改过。
不过要确保html文件中的applet标记包含了“archive”属性,来指定jar文件的名称。
<applet code=ifpre.io.FileAccessApplet
achive=ifpreFileAccessApplet
width=200
heigt =100>
</applet>