JAAS(認證/授權)、JSSE(安全傳輸)、JCE(加密)。本文聚焦前兩者。
模組化設計支援 RSA、Kerberos、智能卡、LDAP 等多種認證技術無縫切換。應用代碼依賴 LoginContext API,認證提供者實現 LoginModule 介面,運行時讀取配置決定使用哪個模組。
一個 Subject 關聯一個或多個 Principal 以實現唯一標識。
LoginContextLoginModule認證後創建 Subject,傳遞給授權組件。Java 2 Security Manager 依據 Policy 文件檢查 Principal 是否具備執行特權操作(文件讀寫、DB 訪問等)的權限,通過則授權,否則拋出 SecurityException。
網絡層協議,保證數據完整性與機密性。JSSE 提供純 Java 實現,支援加密、服務器認證、消息完整性。
SSLSocketFactory 獲取安全 SocketSSLServerSocketFactory 獲取安全 ServerSocket替換標準 java.net.Socket 即可啟用安全通信,支援 HTTP、FTP、Telnet 等任意應用協議。
JAAS 提供模組化認證授權,JSSE 實現傳輸層安全。兩者結合構建完整 Web 應用安全體系:身份驗證、訪問控制、通信加密。