public class ChannelBinding extends Object
呼び出し側は、セキュリティーコンテキストを起動するときに、適切なチャネルバインディング値が GSSContext オブジェクトに設定されていることを確認する必要があります。受け入れ側は、同じバインディングを使用して、受信したトークンに含まれるチャネル関連特性が正しいことを検証する必要があります。
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 オブジェクトのハッシュコード値を返します。
|
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()
public byte[] getApplicationData()
null が返される。public boolean equals(Object obj)
equals、クラス: Objectobj - 比較対象の ChannelBindingObject.hashCode()、HashMappublic int hashCode()
hashCode、クラス: ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object) バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.