|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.ietf.jgss.ChannelBinding
public class ChannelBinding
このクラスは、呼び出し側から提供されるチャネルバインディング情報の概念をカプセル化します。チャネルバインディングを使用すると、コンテキストを確立するときにピアエンティティに提供される認証の品質が向上します。また、GSS-API の呼び出し側は、セキュリティコンテキストの確立を、関連する特性 (アドレスなど) やアプリケーション固有のデータにバインドすることができます。
呼び出し側は、セキュリティコンテキストを起動するときに、適切なチャネルバインディング値が GSSContextGSSContext オブジェクトに設定されていることを確認する必要があります。受け入れ側は、同じバインディングを使用して、受信したトークンに含まれるチャネル関連特性が正しいことを検証する必要があります。
GSS-API では、チャネルバインディングの使用はオプションです。ChannelBinding を GSSContext に設定するには、setChannelBinding メソッドを使用します。そのメソッドの呼び出しは、initSecContext または acceptSecContext を最初に呼び出す前に実行してください。setChannelBinding メソッドを使用して GSSContext オブジェクトに ChannelBinding を設定しなかった場合、ChannelBinding は null と見なされます。
理論的には、GSS-API は、起動側と受け入れ側のアドレス情報をアプリケーションから渡されるバイト配列と連結して 1 つのオクテット文字列を作成します。次に、このオクテット文字列の MIC を計算し、その MIC を GSSContext インタフェースの initSecContext メソッドによって生成されたコンテキスト確立トークンにバインドします。コンテキストの受け入れ側では、受け入れ側の GSSContext オブジェクトに対して同一のバインディングが設定され、acceptSecContext メソッドの処理中に MIC が同じ方法で計算されます。計算された MIC は、トークン内の MIC と比較されます。MIC が異なっている場合、受け入れ側はメジャーコードを BAD_BINDINGS に設定した GSSException をスローし、コンテキストは確立されません。一部の機構では、MIC でなく、実際のチャネルバインディングデータがトークンに組み込まれることがあります。この場合、アプリケーションでは、機密データをチャネルバインディング要素として使用しないようにします。
個々の機構では、チャネルバインディングに含まれるアドレスに対して、独自の制約を適用する場合があります。たとえば、チャネルバインディングの起動側のアドレスフィールドにホストシステムの正しいネットワークアドレスが含まれているかどうかを確認する場合があります。この場合、移植性のあるアプリケーションでは、アドレスフィールドに正しい情報が入っているか、またはアドレス指定情報の設定が省略されているかを確認する必要があります。
| コンストラクタの概要 | |
|---|---|
ChannelBinding(byte[] appData)
アドレス指定情報を使用しないで ChannelBinding オブジェクトを作成します。 |
|
ChannelBinding(InetAddress initAddr,
InetAddress acceptAddr,
byte[] appData)
ユーザが入力したアドレス情報とデータを使用して、ChannelBinding オブジェクトを作成します。 |
|
| メソッドの概要 | |
|---|---|
boolean |
equals(Object obj)
ChannelBinding の 2 つのインスタンスを比較します。 |
InetAddress |
getAcceptorAddress()
このチャネルバインディング用の受け入れ側のアドレスを取得します。 |
byte[] |
getApplicationData()
このチャネルバインディング用の、アプリケーションから指定されたデータを取得します。 |
InetAddress |
getInitiatorAddress()
このチャネルバインディング用の起動側のアドレスを取得します。 |
int |
hashCode()
この ChannelBinding オブジェクトのハッシュコード値を返します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public ChannelBinding(InetAddress initAddr,
InetAddress acceptAddr,
byte[] appData)
null 値を使用できます。
initAddr - コンテキストの起動側のアドレス。アプリケーションからこの値を設定しない場合は、null 値を指定するacceptAddr - コンテキストの受け入れ側のアドレス。アプリケーションからこの値を設定しない場合は、null 値を指定するappData - アプリケーションから提供するデータ。チャネルバインディングの一部として使用される。アプリケーションからこの値を設定しない場合は、null 値を指定するpublic ChannelBinding(byte[] appData)
appData - アプリケーションから提供するデータ。チャネルバインディングの一部として使用される| メソッドの詳細 |
|---|
public InetAddress getInitiatorAddress()
null が返されるpublic InetAddress getAcceptorAddress()
null が返されるpublic byte[] getApplicationData()
null が返されるpublic boolean equals(Object obj)
Object 内の equalsobj - 比較対象の ChannelBinding
Object.hashCode(),
Hashtablepublic int hashCode()
Object 内の hashCodeObject.equals(java.lang.Object),
Hashtable
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。