public interface SSLSession
invalidate
を呼び出します。セッション管理ポリシーは通常、パフォーマンスを調整するときに使用します。
SSLセッションには、標準セッション属性以外に、次の読込み専用属性があります。
セッションは、明示的に無効にします。特定の種類のエラーが発生したときは、暗黙的に無効になります。
修飾子と型 | メソッドと説明 |
---|---|
int |
getApplicationBufferSize()
このセッションの使用中に想定される最大アプリケーション・データの現在のサイズを取得します。
|
String |
getCipherSuite()
このセッションのすべての接続に使用されるSSL暗号化方式群の名前を返します。
|
long |
getCreationTime()
このセッションが作成された時刻を、UTC 1970年1月1日深夜零時からのミリ秒単位で返します。
|
byte[] |
getId()
このセッションに割り当てられた識別子を返します。
|
long |
getLastAccessedTime()
このセッションがセッション・レベルのインフラストラクチャによって最後にアクセスされた時刻を、UTC 1970年1月1日深夜零時からのミリ秒単位で返します。
|
Certificate[] |
getLocalCertificates()
ハンドシェーク中にピアに送信された証明書を返します。
|
Principal |
getLocalPrincipal()
ハンドシェーク中にピアに送信された主体を返します。
|
int |
getPacketBufferSize()
このセッションの使用中に想定される最大SSL/TLSパケットの現在のサイズを取得します。
|
X509Certificate[] |
getPeerCertificateChain()
セッションを定義するときに識別された、ピアの識別情報を返します。
|
Certificate[] |
getPeerCertificates()
セッションを定義するときに設定された、ピアの識別情報を返します。
|
String |
getPeerHost()
このセッションのピア・ホスト名を返します。
|
int |
getPeerPort()
このセッションのピアのポート番号を返します。
|
Principal |
getPeerPrincipal()
セッションを定義するときに設定された、ピアの識別情報を返します。
|
String |
getProtocol()
このセッションのすべての接続に使用されるプロトコルの標準名を返します。
|
SSLSessionContext |
getSessionContext()
このセッションがバインドされているコンテキストを返します。
|
Object |
getValue(String name)
このセッションのアプリケーション層データ内で、指定された名前にバインドされているオブジェクトを返します。
|
String[] |
getValueNames()
セッションにバインドされているアプリケーション層データ・オブジェクト名の配列を返します。
|
void |
invalidate()
セッションを無効にします。
|
boolean |
isValid()
再開や参加が可能な有効なセッションかどうかを返します。
|
void |
putValue(String name, Object value)
指定された
name を使用して、指定されたvalue オブジェクトをこのセッションのアプリケーション層データにバインドします。 |
void |
removeValue(String name)
セッションのアプリケーション層データで、指定された名前にバインドされたオブジェクトを削除します。
|
byte[] getId()
SSLSessionContext getSessionContext()
コンテキストは、一部の環境では取得できません。その場合はnullを返します。
コンテキストが取得できる環境でセキュリティ・マネージャがインストールされている場合は、呼び出すときにコンテキストに対するアクセス権が必要になることがあります。その場合、アクセス権がないときは、セキュリティ例外がスローされます。Java環境では、セキュリティ・マネージャのcheckPermission
メソッドは、SSLPermission("getSSLSessionContext")
アクセス権を指定して呼び出されます。
SecurityException
- 呼出し側スレッドに、SSLセッション・コンテキストを取得するのに必要なアクセス権がない場合。long getCreationTime()
long getLastAccessedTime()
アクセスとは、セッション・データを使用して新しい接続が確立されることを指します。セッション関連の値を取得または設定するなど、アプリケーション・レベルの操作はこのアクセス時間に反映されません。
この情報は、特にセッション管理ポリシーで使用します。たとえば、長時間使用されていないコンテキストでセッション・マネージャ・スレッドからセッションを解放したり、セッションを経過時間でソートしてタスクを最適化したりします。
void invalidate()
後続の接続では、このセッションを使用できません。ただし、このセッションを使用している既存の接続は、接続が閉じるまで引き続き使用できます。
isValid()
boolean isValid()
invalidate()
void putValue(String name, Object value)
name
を使用して、指定されたvalue
オブジェクトをこのセッションのアプリケーション層データにバインドします。
同じname
を使用している既存のバインディングは置き換えられます。新しい(または既存の) value
がSSLSessionBindingListener
インタフェースを実装している場合、value
によって表されるオブジェクトには適切な方法で通知されます。
セキュリティ上の理由から、同じ名前の値は複数のアクセス制御コンテキストをまたがって表示できません。
name
- データ・オブジェクトがバインドされる名前。nullは不可。value
- バインドされるデータ・オブジェクト。nullは不可。IllegalArgumentException
- どちらかの引数がnullである場合。Object getValue(String name)
セキュリティ上の理由から、同じ名前の値は複数のアクセス制御コンテキストをまたがって表示できません。
name
- 検索するバインディングの名前。IllegalArgumentException
- 引数がnullである場合。void removeValue(String name)
SessionBindingListener
インタフェースを実装している場合は、そのインタフェースに適切な方法で通知されます。
セキュリティ上の理由から、同じ名前の値は複数のアクセス制御コンテキストをまたがって表示できません。
name
- 削除するオブジェクトの名前。複数のアクセス制御コンテキストをまたがって表示できるIllegalArgumentException
- 引数がnullである場合。String[] getValueNames()
セキュリティ上の理由から、同じ名前の値は複数のアクセス制御コンテキストをまたがって表示できません。
Certificate[] getPeerCertificates() throws SSLPeerUnverifiedException
注: このメソッドを使用できるのは、証明書ベースの暗号化方式群を使用している場合だけです。Kerberosなどの証明書ベースでない暗号化方式群にこのメソッドを使用すると、SSLPeerUnverifiedExceptionがスローされます。
SSLPeerUnverifiedException
- ピアの識別情報が確認されていない場合getPeerPrincipal()
Certificate[] getLocalCertificates()
注: このメソッドが役立つのは、証明書ベースの暗号化方式群を使用している場合だけです。
ハンドシェークを行うときに複数の証明書を使用できる場合は、最適な証明書チェーンが選択され、ピアに送信されます。呼出し側は、このメソッドを使用して、実際に使用された証明書チェーンを把握することができます。
getLocalPrincipal()
X509Certificate[] getPeerCertificateChain() throws SSLPeerUnverifiedException
注: このメソッドを使用できるのは、証明書ベースの暗号化方式群を使用している場合だけです。Kerberosなどの証明書ベースでない暗号化方式群にこのメソッドを使用すると、SSLPeerUnverifiedExceptionがスローされます。
注: このメソッドは、以前のリリースとの互換性を確保するために組み込まれています。新しいアプリケーションでは、代わりにgetPeerCertificates()
を使用するようにしてください。
X509Certificate
形式である。SSLPeerUnverifiedException
- ピアの識別情報が確認されていない場合getPeerPrincipal()
Principal getPeerPrincipal() throws SSLPeerUnverifiedException
SSLPeerUnverifiedException
- ピアの識別情報が確認されていない場合getPeerCertificates()
, getLocalPrincipal()
Principal getLocalPrincipal()
getLocalCertificates()
, getPeerPrincipal()
String getCipherSuite()
SSL暗号化方式群は、使用される暗号の種類や認証方法の設定など、接続時に送信されるデータに適用される保護のレベルを決定します。
String getProtocol()
このプロトコルには、接続で使用されるプロトコルを定義します。
String getPeerHost()
サーバーの場合は、クライアントのホスト名になります。クライアントの場合は、サーバーのホスト名になります。この名前は、完全修飾ホスト名や実際のホスト名ではなく、ピアのネットワーク・アドレスの文字列エンコーディングを示します。完全修飾ホスト名や実際のホスト名が必要な場合は、このメソッドから返された値に基づいてネーム・サービスを使用すれば解決できます。
この値は認証されていないため、実際に使用することはできません。主に、SSLSession
のキャッシュ方法に関するヒントとして使用されます。
int getPeerPort()
サーバーの場合は、クライアントのポート番号になります。クライアントの場合は、サーバーのポート番号になります。
この値は認証されていないため、実際に使用することはできません。主に、SSLSession
のキャッシュ方法に関するヒントとして使用されます。
int getPacketBufferSize()
このセッションを使用しているSSLEngine
は、このメソッドから返された値以下で、任意のサイズのSSL/TLSパケットを生成できます。wrap
やunwrap
の実行時に容量不足の問題を防ぐために、SSLEngine
のネットワーク・バッファのサイズはすべてこの値以上にしてください。
SSLEngine.wrap(ByteBuffer, ByteBuffer)
, SSLEngine.unwrap(ByteBuffer, ByteBuffer)
int getApplicationBufferSize()
SSLEngine
のアプリケーション・データ・バッファには、着信するアプリケーション・データ・パケットに含まれているアプリケーション・データを保持するために十分なサイズが必要です。通常、送信アプリケーション・データ・バッファは、どのようなサイズでもかまいません。
SSLEngine.wrap(ByteBuffer, ByteBuffer)
, SSLEngine.unwrap(ByteBuffer, ByteBuffer)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.