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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。