|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object org.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
内の equals
obj
- 比較対象の ChannelBinding
Object.hashCode()
,
Hashtable
public int hashCode()
Object
内の hashCode
Object.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 も参照してください。