JavaTM Cryptography Extension (JCE)、JavaTM Secure Socket Extension (JSSE)、およびJavaTM Authentication and Authorization Service (JAAS) のセキュリティ機能はオプションパッケージではなく、J2SE v1.4 に統合されました。
新しいセキュリティ機能は次の 2 つです。
JavaTM GSS-APIを使用すると、Kerberos 5 機構を使用して通信するアプリケーション間でメッセージを安全に交換できます。詳細については、http://java.sun.com/j2se/1.4/ja/docs/ja/guide/security/jgss/tutorials/index.html を参照してください。
JavaTM Certification Path API の java.security.cert パッケージには、認証パス (「認証チェーン」とも呼ぶ) を構築および検証できる新しいクラスとメソッドが含まれています。詳細については、http://java.sun.com/j2se/1.4/ja/docs/ja/guide/security/certpath/CertPathProgGuide.html を参照してください。
輸入管理制限により、J2SE v1.4 に付属する JCE 権限ポリシーファイルは「強力」であるが使用される暗号化を制限します。JCE 権限ポリシーファイルには、「無制限」のバージョン (つまり、暗号化の強度に制限をかけない) もあります。
このリリースの JSSE 実装には、強力な暗号群が含まれています。しかし、米国の輸出管理制限のため、デフォルトの SSLSocketFactory と SSLServerSocketFactory を変更することは禁止されています。詳細については、http://java.sun.com/j2se/1.4/ja/docs/ja/guide/security/jsse/JSSERefGuide.html にある『JSSE リファレンスガイド』を参照してください。
JAAS が J2SE に統合されているので、java.security.Policy API がプリンシパルベースの照会を処理し、また、デフォルトのポリシー実装がプリンシパルベースの許可エントリをサポートします。したがって、アクセス制御は、どのコードが実行しているかだけではなく、だれがそのコードを実行しているかにより行うことができます。
動的ポリシーのサポートが追加されました。バージョン 1.4 より前の J2SE リリースでは、クラスのアクセス権へのバインドは静的に行われており、セキュリティポリシーはクラスのロード中に照会されていました。したがって、バインドの寿命はクラスローダの寿命によって制限されていました。バージョン 1.4 では、このバインドはセキュリティ検査により必要となるまで行われません。つまり、バインドの寿命はセキュリティポリシーの寿命によって制限されます。
J2SE 1.4 におけるセキュリティの詳細については、http://java.sun.com/j2se/1.4/ja/docs/ja/guide/security/index.html を参照してください。