Java SE認証、セキュアな通信、およびシングル・サインオンでの高度なセキュリティ・プログラミング
Java SEでは、セキュアなJavaアプリケーションやサービスを開発するための豊富なAPIと機能を提供しています。ここにリストされている課題セッションは、Java SE GSS APIを使用してユーザーを認証するアプリケーションを構築したり、他のアプリケーションやサービスとの通信をセキュアに行ったりする場合に役立ちます。また、Kerberos環境でシングル・サインオンを実現するためにアプリケーションを構成する場合にも役立ちます。さらに、Kerberos環境でより強力な暗号化アルゴリズムを使用する方法、およびSPNEGOなどのJava GSSメカニズムを使用して、アソシエーションをセキュリティ保護する方法についても学習します。
開発環境の設定
ノート:
この項のレッスンではSubject::doAsメソッドを使用します。削除予定の非推奨になったセキュリティ・マネージャAPIに依存しているため、これも削除予定の非推奨です。説明および代替方法は、JEP 411: 削除のためのセキュリティ・マネージャの非推奨化を参照してください。また、Subject::doAsメソッドの動作は、セキュリティ・マネージャが許可されているか、許可されていないかによって異なることに注意してください。Subject JavaDoc APIドキュメントの非推奨のメソッドおよび置換を参照してください。
Subject::doAsメソッドは、Subject::callAsメソッドに置き換えられます。詳細は、「特定のSubjectとしてアクションを実行するためのdoAsメソッド」を参照してください。
最初の課題に進む前に、次のように開発環境を設定します。
- 課題で使用するアカウントを使用してKerberosサーバーを構成します。付録A: Kerberosアカウントの設定を参照してください。
- Key Distribution Center (KDC)を設定し、Kerberosサーバーを開始します。
- クライアント・コンピュータでKerberos構成を設定します。
- JDK環境の設定:
-
JDK のインストール・ディレクトリをポイントするように、
JAVA_HOME
環境変数を設定します。 -
PATH
環境変数に%JAVA_HOME%\bin
(Windows)または$JAVA_HOME/bin
(Linux、またはmacOS)を記述します。
-
課題
このセッションには6つのレッスンが含まれています。各パートには、1つ以上のコーディング課題が含まれています。次の課題を順番どおりに実行します。