標籤:jce 架構
郭嘉
郵箱:[email protected]
部落格:http://blog.csdn.net/allenwells
github:https://github.com/AllenWell
JCE最初是作為JCA的擴充包開發的,旨在提供受美國出口控制條例管制的Data Encryption ServiceAPI和實現。JCE提供一個提供者實現和一組相關的API和包,以支援加密和解密,密鑰的產生和協商以及訊息驗證演算法,其中對加密和解密的支援包括對稱式加密、非對稱式加密、塊加密和流加密。JCE還支援安全流和封裝流對象。
JCE的架構模型如所示:
一 JCEData Encryption Service提供者
JCE是基於JCA的架構原則設計的,因此它同樣允許繼承Data Encryption Service提供者,支援可插入的架構架構,允許插入合格的JCE提供者。
JCE架構提供了一個SunJCE的預設提供者實現,該實現提供以下Data Encryption Service和演算法:
- DES(FIPS PUB 46-1),3DES和Blowfish等密碼編譯演算法的實現。
- 支援以下模式:
- 電子密碼本(Electronic Code Book, ECB)
- 密碼塊連結(Cipher Block Chaining,CBC)
- 密碼反饋(Cipher Feedback, CFB)
- 輸出反饋(Output Feedback, OFB)
- 擴散密碼塊連結(Propagating Cipher Block Chaining, PCBC)
- 可以實現MAC演算法,如HMAC-MD5和HMAC-SHAT演算法。
- 用於演算法DES, 3DES, Blowfish, HMAC-MD5和HMAC-SHA」的金鑰產生器
- 實現MD5-DESCBC基於密碼加密(Password-Based Encryption, PBE)的演算法
- 實現基於Dffie-Helhnan的密鑰協商協議
- 按照PKCS#5實現填充規則(Padding Scheme)
- Diffie-Hellman、DES, 3DES, Blowfish和PBE的演算法參數管理器
- 支援進階加密標準(AES)
- 實現名為JCEKS的密鑰庫
- 引人下列服務和演算法作為J2SE 5.0安全增強:
- 支援PKCS # 11標準
- 支援ECC演算法
- 支援XML加密RSA-OAEP演算法
- 整合了Solaris加密架構(Solaris Cryptographic Framework)
- 支援密碼編譯演算法“PBEWithSHAIAndDESede”和“PBEWithSHAIAndRC2_40”
- 支援RC2ParameterSpec
- 增加了提供者SuuJCE對RSA加密的支援
- 增加了提供者SunJCE對RC2和ARCFDUR加密的支援
- 支援Hn13CSHA256, HmacSHA384和HmacSHA512
二 JCEData Encryption Service引擎三 JCEData Encryption Service演算法
【Java安全技術探索之路系列:Java可擴充安全架構】之五:JCE(一):JCE架構介紹