Java語(yǔ)言中負(fù)責(zé)加密功能的部件是JCE(Java Crypto Extenstion),它使用開(kāi)放式的思想,可以允許用戶(hù)自己編寫(xiě)加密算法的具體實(shí)現(xiàn)的模塊等.這些東西被稱(chēng)為JCE Provider,JCE的提供者.SUN公司本身提供了一些Provider.不過(guò)我推薦使用Bouncy Castle的Provider.原因是它實(shí)現(xiàn)的加密算法多,連比較新的橢圓曲線(xiàn)(ECC)算法都有了.去http://www.bouncycastle.org/可 以找到你所希望的.Bouncy Castle除了提供Provider本身以外,還包括了一個(gè)S/MIME和一個(gè)open pgp 的jar包只有Provider本身是必要的,后兩個(gè)包是方便你編程而提供的.例如有了S/MIME包后,你就不再需要為諸如"加密一個(gè)字符串或 者一片文章然后簽名"之類(lèi)的很現(xiàn)實(shí)的應(yīng)用程序?qū)懮弦淮蠖汛a了,只要引用S/MIME包中的某幾個(gè)類(lèi),很快就可以搞定.而open pgp的存在,使你在用Java編寫(xiě)和PGP/GPG交互的程序時(shí)方便多了.
這次先寫(xiě)這么多了,下次開(kāi)始具體講把這些東西搞下來(lái)后怎么開(kāi)始干活吧.我以我現(xiàn)在手頭上正在做的事情告訴大家,如何做一個(gè)CA.
有了BC Provider,開(kāi)CA,真的就是這么簡(jiǎn)單!