今儿个,咱就来唠唠这个applet数字签名的那些事儿。话说我最近不是在折腾一个小项目嘛里头就用到这个applet,结果发现这玩意儿安全性有点让人不放心。于是我就琢磨着,得给它加个数字签名,好歹让人用着安心点不是?
刚开始,我也不太懂这玩意儿咋弄,就在网上搜搜。你还别说,资料是真不少,但就是太零散,看得我头都大。什么“非对称加密”、“密钥”、“注册jar”,这都啥跟啥?不过咱是谁,那可是有着一股不服输的劲儿。于是我就下定决心,一定要把这个数字签名给搞定!
我先把那些看着比较靠谱的资料都收集起来,打印出来,一个个对着看,不懂的就做标记,然后再去搜。就这样反反复复,总算是摸到点门道。你得把你的那些个applet的class类文件,打个包,弄成一个jar包。这步不难,我在电脑上敲几个命令就搞定,大概就是jar -cvf * class
。不过你要是和我一样,有多个包咋办?别怕,进入你的类文件所在的文件夹,把那些个*1
和*2
啥的都塞进去,然后打包,齐活!
就是生成一个密钥库,这玩意儿就像是你的一个身份证明,里头包含你的个人信息和公钥。我记得当时我用的是keytool
这个工具,输一堆命令,还设置一个密码,填一些信息,像什么公司、国家之类的。在我的文件夹里就生成一个叫lams
的文件,这就是我的密钥库。这一步的命令大概是:keytool -genkey -alias lams -keypass 123456 -storepass 123456 -validity 1277 -keystore .\lams
。其中1277
指的是有效天数,你也可以根据你的实际情况改。
有密钥库,就可以给你的jar包签名。这一步我用的是jarsigner
这个工具,又是一通敲命令,指定密钥库和jar包,然后输入密码,就搞定。具体的命令我这里也给大家分享一下:jarsigner -keystore * * monitor
。这行命令执行完,你的jar包就被你成功签名。
我把签名好的jar包放到我的网页上,然后打开浏览器,测试一下。你还真别说,还真就成功!浏览器弹出一个安全提示,问我是否信任这个applet,我点“信任”,然后applet就正常运行。看到这一幕,我心里别提有多高兴,感觉自己又攻克一个技术难关。
给applet加数字签名虽然过程有点曲折,但最终还是被我搞定。现在想想,也没那么难,关键是要有耐心,一步一步来,不懂就查资料,多试几次,总能成功的。通过这回实践,我对数字签名也有更深的理解,感觉自己的技术水平又提升不少。
好,今儿个就跟大家分享到这里。希望我的这些经验能对大家有所帮助,特别是那些像我一样,刚开始对数字签名一脸懵逼的小伙伴们。记住,没有什么是咱们搞不定的,只要肯下功夫,就一定能成功!