這里說(shuō)的信息安全是相對(duì)于系統(tǒng)安全而言的,它更側(cè)重于加密,解密,數(shù)字簽名,驗(yàn)證,證書(shū)等等.而系統(tǒng)安全主要側(cè)重于系統(tǒng)本身是否有安全漏洞,如常見(jiàn)的由于軟件設(shè)計(jì)的不完善而導(dǎo)致的滿(mǎn)天飛的緩沖區(qū)溢出等等.
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)的加密算法多,連比較新的橢圓曲線(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)單!