這里說的信息安全是相對于系統安全而言的,它更側重于加密,解密,數字簽名,驗證,證書等等.而系統安全主要側重于系統本身是否有安全漏洞,如常見的由于軟件設計的不完善而導致的滿天飛的緩沖區溢出等等.
Java語言中負責加密功能的部件是JCE(Java Crypto
Extenstion),它使用開放式的思想,可以允許用戶自己編寫加密算法的具體實現的模塊等.這些東西被稱為JCE
Provider,JCE的提供者.SUN公司本身提供了一些Provider.不過我推薦使用Bouncy
Castle的Provider.原因是它實現的加密算法多,連比較新的橢圓曲線(ECC)算法都有了.去http://www.bouncycastle.org/可
以找到你所希望的.Bouncy Castle除了提供Provider本身以外,還包括了一個S/MIME和一個open
pgp 的jar包只有Provider本身是必要的,后兩個包是方便你編程而提供的.例如有了S/MIME包后,你就不再需要為諸如"加密一個字符串或
者一片文章然后簽名"之類的很現實的應用程序寫上一大堆代碼了,只要引用S/MIME包中的某幾個類,很快就可以搞定.而open
pgp的存在,使你在用Java編寫和PGP/GPG交互的程序時方便多了.
這次先寫這么多了,下次開始具體講把這些東西搞下來后怎么開始干活吧.我以我現在手頭上正在做的事情告訴大家,如何做一個CA.
有了BC Provider,開CA,真的就是這么簡單!