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, 2013, Oracle and/or its affiliates. All rights reserved.