JavaTM Platform
Standard Ed. 6

org.ietf.jgss
클래스 ChannelBinding

java.lang.Object 
  상위를 확장 org.ietf.jgss.ChannelBinding


public class ChannelBinding
extends Object

이 클래스는, 호출측으로부터 제공되는 채널 바인딩 정보의 개념을 캡슐화합니다. 채널 바인딩을 사용하면(자), 문맥을 확립할 경우에 피아엔티티에 제공되는 인증의 품질이 향상합니다. 또, GSS-API 의 호출측은, 시큐리티 문맥의 확립을, 관련하는 특성 (주소등)이나 어플리케이션 고유의 데이터에 바인드 할 수가 있습니다.

호출측은, 시큐리티 문맥을 기동할 경우에, 적절한 채널 바인딩치가 GSSContextGSSContext 객체로 설정되어 있는 것을 확인할 필요가 있습니다. 받아 들이는 쪽은, 같은 바인딩을 사용해, 수신한 토큰에 포함되는 채널 관련 특성이 올바른 일을 검증할 필요가 있습니다.

GSS-API 에서는, 채널 바인딩의 사용은 옵션입니다. ChannelBinding 를 GSSContext 으로 설정하려면 ,setChannelBinding 메소드를 사용합니다. 그 메소드의 호출은,initSecContext 또는 acceptSecContext 를 최초로 호출하기 전에 실행해 주세요. setChannelBinding 메소드를 사용해 GSSContext 객체에 ChannelBinding 를 설정하지 않았던 경우, ChannelBinding 는 null 라고 보여집니다.

이론적으로는, GSS-API 는, 기동측과 받아 들이는 쪽의 주소 정보를 어플리케이션으로부터 건네받는 바이트 배열과 연결해 1 개의 8중창 캐릭터 라인을 작성합니다. 다음에, 이 8중창 캐릭터 라인의 MIC 를 계산해, 그 MIC 를 GSSContext 인터페이스의 initSecContext 메소드에 의해 생성된 문맥 확립 토큰에 바인드 합니다. 문맥의 받아 들이는 쪽에서는, 받아 들이는 쪽의 GSSContext 객체에 대해서 동일한 바인딩이 설정되어acceptSecContext 메소드의 처리중에 MIC 가 같은 방법으로 계산됩니다. 계산된 MIC 는, 토큰내의 MIC 라고 비교됩니다. MIC 가 차이가 나는 경우, 받아 들이는 쪽은 메이저 코드를 BAD_BINDINGS 로 설정한 GSSException 를 throw 해, 문맥은 확립되지 않습니다. 일부의 기구에서는, MIC 가 아니고, 실제의 채널 바인딩 데이터가 토큰에 짜넣어지는 일이 있습니다. 이 경우, 어플리케이션에서는, 기밀 데이터를 채널 바인딩 요소로서 사용하지 않게 합니다.

개개의 기구에서는, 채널 바인딩에 포함되는 주소에 대해서, 독자적인 제약을 적용하는 경우가 있습니다. 예를 들어, 채널 바인딩의 기동측의 address field에 호스트 시스템의 올바른 네트워크 주소가 포함되어 있는지 어떤지를 확인하는 경우가 있습니다. 이 경우, 이식성이 있는 어플리케이션에서는, address field에 올바른 정보가 들어가 있는지, 또는 주소 지정 정보의 설정이 생략 되고 있는지를 확인할 필요가 있습니다.

도입된 버젼:
1.4

생성자 의 개요
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
 

생성자 의 상세

ChannelBinding

public ChannelBinding(InetAddress  initAddr,
                      InetAddress  acceptAddr,
                      byte[] appData)
사용자가 입력한 주소 정보와 데이터를 사용해, ChannelBinding 객체를 작성합니다. 어플리케이션으로 지정하지 않는 필드에는,null 치를 사용할 수 있습니다.

파라미터:
initAddr - 문맥의 기동측의 주소. 어플리케이션으로부터 이 값을 설정하지 않는 경우는, null 치를 지정하는
acceptAddr - 문맥의 받아 들이는 쪽의 주소. 어플리케이션으로부터 이 값을 설정하지 않는 경우는, null 치를 지정하는
appData - 어플리케이션으로부터 제공하는 데이터. 채널 바인딩의 일부로서 사용된다. 어플리케이션으로부터 이 값을 설정하지 않는 경우는, null 치를 지정한다

ChannelBinding

public ChannelBinding(byte[] appData)
주소 지정 정보를 사용하지 않고 ChannelBinding 객체를 작성합니다.

파라미터:
appData - 어플리케이션으로부터 제공하는 데이터. 채널 바인딩의 일부로서 사용된다.
메소드의 상세

getInitiatorAddress

public InetAddress  getInitiatorAddress()
이 채널 바인딩용의 기동측의 주소를 가져옵니다.

반환값:
기동측의 주소. 기동측의 주소가 설정되어 있지 않은 경우는, null 가 반환된다

getAcceptorAddress

public InetAddress  getAcceptorAddress()
이 채널 바인딩용의 받아 들이는 쪽의 주소를 가져옵니다.

반환값:
받아 들이는 쪽의 주소. 받아 들이는 쪽의 주소가 설정되어 있지 않은 경우는, null 가 반환된다

getApplicationData

public byte[] getApplicationData()
이 채널 바인딩용의, 어플리케이션으로부터 지정된 데이터를 가져옵니다.

반환값:
ChannelBinding 의 일부로서 사용된다 어플리케이션 데이터. 이 채널 바인딩용으로 지정된 어플리케이션 데이터가 없는 경우는, null 가 반환된다

equals

public boolean equals(Object  obj)
ChannelBinding 의 2 개의 인스턴스를 비교합니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
obj - 비교 대상의 ChannelBinding
반환값:
2 개의 ChannelBinding 의 기동측과 받아 들이는 쪽의 주소와 어플리케이션 데이터에, 같은 값이 포함되어 있는 경우는 true
관련 항목:
Object.hashCode() , Hashtable

hashCode

public int hashCode()
이 ChannelBinding 객체의 해시 코드값를 돌려줍니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
hashCode 치
관련 항목:
Object.equals(java.lang.Object) , Hashtable

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.