首页 > 技术文章 > JNLP + Applet + Bouncy Castle

cuizhf 2013-10-16 11:02 原文

http://stackoverflow.com/questions/4275005/jnlp-applet-bouncy-castle

——————————————————————————————————————————————————

Ok, so here is the answer:

First of all, as Bloodboiler suggested, you are in trouble if your applet uses jars signed by different certificates. So your solution should be to sign them all with the same certificate.

You do have some possibilities here:

one is to extract all your project's jars and then combine them into a single jar and sign it. This doesn't work with Spring-context and BouncyCastle for some reason. I am sure if I had the nerve to fiddle with it, it would have worked.

another way is, like M.Joanis suggested, to use FatJar, but it also did not work for some reason. As for the method described above, I did not have the desire or inclination to spend too much time on it.

the third way, the one that WORKED, is to just verify the jars' in your dist directory's certificates. If they differ, you, as Bloodboiler suggested, are in trouble. The solution is to unsign the jars (extract, delete META-INF ) and then sign them ALL with the SAME certificate ( make jar your preferred way, then sign it your preferred way and make sure all the jars you use are signed by you (using jarsigner -verify -cert, etc...)). Then this whole mess should work.

——————————————————————————————————————————————————————

经测试,第3种方式可行。

推荐阅读