|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface SSLSession
SSL では、2 つのエンティティ間で進行中の関係がセッションと呼ばれます。1 つの SSL 接続では、一度に 1 つのセッションが使用されます。ただし、そのセッションは、同じエンティティ間の複数の接続で、同時にまたは連続して使用されます。1 つの接続で使用されるセッションを別のセッションで置き換えることもできます。セッションの作成または参加は、SSL ハンドシェークのときに行われます。セッションを無効にするには、セキュリティまたは資源使用状況に関連するポリシーを使用するか、アプリケーションから明示的に invalidate
を呼び出します。セッション管理ポリシーは通常、パフォーマンスを調整するときに使用します。
SSL セッションには、標準セッション属性以外に、次の読み込み専用属性があります。
セッションは、明示的に無効にします。特定の種類のエラーが発生したときは、暗黙的に無効になります。
メソッドの概要 | |
---|---|
int |
getApplicationBufferSize()
このセッションの使用中に発生する可能性があるアプリケーションバッファの最大サイズを取得します。 |
String |
getCipherSuite()
このセッションのすべての接続に使用される SSL 符号化方式の名前を返します。 |
long |
getCreationTime()
このセッションが作成された時刻を、UTC 1970年 1 月 1 日 0 時からのミリ秒単位で返します。 |
byte[] |
getId()
このセッションに割り当てられた識別子を返します。 |
long |
getLastAccessedTime()
このセッションがセッションレベルのインフラストラクチャによって最後にアクセスされた時刻を、UTC 1970年 1 月 1 日 0 時からのミリ秒単位で返します。 |
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 2 環境では、セキュリティマネージャの checkPermission
メソッドを呼び出すときには、SSLPermission("getSSLSessionContext")
アクセス権が必要です。
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)
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。