|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
public interface GSSContext
이 인터페이스는, GSS-API 의 시큐리티 문맥을 캡슐화해, 그 문맥으로 이용할 수 있는 시큐리티 서비스를 제공합니다. 시큐리티 문맥은, 로컬에 취득한 자격을 사용해 피어간에 확립됩니다. 1 조의 피어간에는, 같은 자격 또는 다른 자격을 사용하는 복수의 문맥이 동시에 존재하는 경우가 있습니다. GSS-API 는, 피어간의 시큐리티 문맥에 의해 생성되는 토큰을 전송 할 경우에, 부하의 전송 프로토콜에는 의존하지 않고, 그 호출측 어플리케이션에 의존합니다.
호출측이 디폴트의 GSSManager
인스턴스를 사용해 문맥을 인스턴스화하는 경우는, Kerberos v5 GSS-API 기구를 사용해 문맥이 확립됩니다. Kerberos v5 기구는, OID 「1.2. 840.113554. 1.2. 2」(으)로서 식별되어 RFC 1964 에 정의되고 있습니다.
문맥의 확립 처리가 개시되기 전에, 확립되는 문맥의 특성을 기동측이 요구하는 경우가 있습니다. 호출측이 요구한 특성이, 부하의 기구에 의해 지원되어 있지 않은 것이 있습니다. 문맥이 확립하면(자), 호출측은 다양한 쿼리메소드를 사용해, 그 문맥으로부터 제공된 실제의 특성이나 서비스를 확인할 수 있습니다. 디폴트의 GSSManager
인스턴스로부터 제공되는 Kerberos v5 GSS-API 기구를 사용하고 있을 때는, 모든 옵션 서비스를 로컬에 이용할 수 있습니다. 예를 들어, 상호 인증, 자격의 위양, 기밀성과 무결성의 보호, 메세지마다의 리플레이 검출이나 순서부등을 이용할 수 있습니다. GSS-API 에서는, 메세지의 기밀성을 보호하려면 , 메세지의 무결성을 보호할 필요가 있습니다.
문맥이 확립할 때까지, 기동 측에 의한 initSecContext
호출과 받아 들이는 쪽에 의한 acceptSecContext
호출이 반복해집니다. 이 루프는, 문맥이 확립하면(자) 종료합니다. 이 루프의 처리중에,initSecContext
및 acceptSecContext
메소드가 토큰을 생성해, 어플리케이션은 그 토큰을 피어에 송신합니다. 피어는,acceptSecContext
또는 initSecContext
에 대해서 적절한 토큰을 입력으로서 건네줍니다.
문맥이 완전하게 확립하기 전에서도,isProtReady
메소드를 호출해,wrap
및 getMIC
에 의한 메세지마다의 조작에 문맥을 사용할 수 있을지 어떨지를 확인할 수 있습니다. 이 방법을 사용하면, 완전하게 확립되기 전의 문맥에 대해서 메세지마다의 조작을 사용할 수 있습니다.
문맥의 확립이 완료한 뒤, 즉 isProtReady
메소드로부터 true
가 반환된 뒤에는, 확립된 문맥의 실제의 특성이나 서비스를 확인하기 위해서 쿼리루틴을 호출할 수 있습니다. 또,wrap
및 getMIC
의 메세지마다의 메소드를 사용해, 어플리케이션이 제공하는 데이터에 대해서 암호화 조작을 실시할 수도 있습니다.
문맥이 불필요하게 되면(자),dispose
를 호출해, 그 문맥이 사용하고 있는 시스템 자원을 모두 해제할 필요가 있습니다.
시큐리티 문맥은 일반적으로, 처리하는 토큰에 관한 순서부와 리플레이 검출 정보를 보관 유지하고 있습니다. 이 때문에, 토큰이 이 문맥에게 건네져 처리되는 순서가 중요하게 됩니다. 또, 이 인터페이스내의 메소드는 동기화 되지 않습니다. 복수의 thread간에 GSSContext
를 공유할 때는, 하등의 어플리케이션 레벨의 동기화를 실시할 필요가 있습니다.
GSS-API 문맥을 사용할 때의 시큐리티 제한은, GSS-API 기구 프로바이더에 따라서 다릅니다. 이러한 제한에 대해서는, 각 기구 프로바이더의 문서를 참조해 주세요. 이러한 시큐리티 제한을 기구층에서 검사하는 경우는, 어플리케이션에 적절한 권한이 부여되고 있을 필요가 있습니다.
다음에 나타내는 코드예는, 기동측 피어의 GSSContext
인터페이스의 사용법을 나타내고 있습니다. GSSContext
객체에 대해서, 객체의 인스턴스화, 지정하는 플래그의 설정, 문맥의 확립, 실제의 문맥 플래그의 조회, 어플리케이션 데이터에 대한 메세지마다의 조작, 문맥의 최종 검출등을 실시하고 있습니다.
// Create a context using default credentials- // and the implementation specific default mechanism GSSManager manager ... GSSName targetName ... GSSContext context = manager.createContext(targetName, null, null, GSSContext.INDEFINITE_LIFETIME); // set desired context options prior to context establishment context.requestConf(true); context.requestMutualAuth(true); context.requestReplayDet(true); context.requestSequenceDet(true); // establish a context between peers byte []inToken = new byte[0]; // Loop while there still is a token to be processed while (! context.isEstablished()) { byte[] outToken- = context.initSecContext(inToken, 0, inToken.length); // send the output token if generated if (outToken ! = null) sendToken(outToken); if (! context.isEstablished()) { inToken = readToken(); } // display context information System.out.println("Remaining lifetime in seconds = " + context.getLifetime()); System.out.println("Context mechanism = " + context.getMech()); System.out.println("Initiator = " + context.getSrcName()); System.out.println("Acceptor = " + context.getTargName()); if (context.getConfState()) System.out.println("Confidentiality (i.e., privacy) is available"); if (context.getIntegState()) System.out.println("Integrity is available"); // perform wrap on an application supplied message, appMsg, // using QOP = 0, and requesting privacy service byte [] appMsg ... MessageProp mProp = new MessageProp(0, true); byte []tok = context.wrap(appMsg, 0, appMsg.length, mProp); sendToken(tok); // release the local-end of the context context.dispose();
필드의 개요 | |
---|---|
static int |
DEFAULT_LIFETIME
문맥의 디폴트의 수명을 나타내는 수명 정수입니다. |
static int |
INDEFINITE_LIFETIME
문맥의 수명이 무기한인 것을 나타내는 수명 정수입니다. |
메소드의 개요 | |
---|---|
byte[] |
acceptSecContext (byte[] inToken,
int offset,
int len)
피어로부터 토큰이 착신했을 때에, 문맥의 받아 들이는 쪽에 의해 불려 갑니다. |
void |
acceptSecContext (InputStream inStream,
OutputStream outStream)
문맥의 받아 들이는 쪽에 의해 불려 가는 메소드입니다. |
void |
dispose ()
문맥 객체에 포함되고 있는 시스템 자원과 암호화 정보를 모두 해제해, 그 문맥을 무효로 합니다. |
byte[] |
export ()
이 문맥을 export 해, 다른 프로세스를 임포트 할 수 있도록(듯이) 합니다. |
boolean |
getAnonymityState ()
문맥의 기동측이 문맥의 받아 들이는 쪽에 익명으로서 인증되고 있는지 어떤지를 판정합니다. |
boolean |
getConfState ()
이 문맥으로 데이터의 기밀성을 이용할 수 있을지 어떨지를 검사합니다. |
boolean |
getCredDelegState ()
이 문맥으로 자격의 위양이 유효하게 되어 있는지 어떤지를 판정합니다. |
GSSCredential |
getDelegCred ()
문맥의 기동측으로부터 문맥의 받아 들이는 쪽에 위양 된 자격을 가져옵니다. |
boolean |
getIntegState ()
이 문맥으로 데이터의 무결성을 이용할 수 있을지 어떨지를 검사합니다. |
int |
getLifetime ()
이 문맥의 나머지의 수명을 검사합니다. |
Oid |
getMech ()
이 문맥에 사용되고 있는 기구를 검사합니다. |
byte[] |
getMIC (byte[] inMsg,
int offset,
int len,
MessageProp msgProp)
지정된 메세지의 암호화 MIC (메세지 무결성 코드)를 포함한 토큰을 돌려줍니다. |
void |
getMIC (InputStream inStream,
OutputStream outStream,
MessageProp msgProp)
스트림을 사용해, 지정된 메세지의 암호화 MIC 를 포함한 토큰을 돌려줍니다. |
boolean |
getMutualAuthState ()
이 문맥으로 상호 인증이 유효하게 되어 있는지 어떤지를 판정합니다. |
boolean |
getReplayDetState ()
이 문맥의 메세지마다의 시큐리티 서비스로 리플레이 검출이 유효하게 되어 있는지 어떤지를 판정합니다. |
boolean |
getSequenceDetState ()
이 문맥의 메세지마다의 시큐리티 서비스로 sequence check가 유효하게 되어 있는지 어떤지를 판정합니다. |
GSSName |
getSrcName ()
문맥의 기동측의 이름을 돌려줍니다. |
GSSName |
getTargName ()
문맥의 받아 들이는 쪽의 이름을 돌려줍니다. |
int |
getWrapSizeLimit (int qop,
boolean confReq,
int maxTokenSize)
wrap 에 건네줄 수가 있는 메세지 사이즈의 제한을 결정할 때 사용합니다. |
byte[] |
initSecContext (byte[] inputBuf,
int offset,
int len)
문맥의 기동 측에야는 불려 가는 메소드입니다. |
int |
initSecContext (InputStream inStream,
OutputStream outStream)
문맥의 기동 측에야는 불려 가는 메소드입니다. |
boolean |
isEstablished ()
문맥을 확립하기 전에, 문맥 상태를 확인할 경우에 사용합니다. |
boolean |
isInitiator ()
이 피어가 문맥의 기동측일지 어떨지를 검사합니다. |
boolean |
isProtReady ()
이 문맥으로 메세지마다의 조작을 곧바로 개시할 수 있을지 어떨지를 검사합니다. |
boolean |
isTransferable ()
export 메소드를 사용해, 이 문맥을 다른 프로세스에 전송 할 수 있을지 어떨지를 검사합니다. |
void |
requestAnonymity (boolean state)
기동측의 자격을 받아 들이는 쪽에 공개하지 않게 요구합니다. |
void |
requestConf (boolean state)
wrap 메소드로 데이터의 기밀성을 유효하게 하도록(듯이) 요구합니다. |
void |
requestCredDeleg (boolean state)
문맥의 확립 시에 기동측의 자격을 받아 들이는 쪽에 위양 하도록(듯이) 요구합니다. |
void |
requestInteg (boolean state)
wrap 메소드와 getMIC 메소드로 데이터의 무결성을 유효하게 하도록(듯이) 요구합니다. |
void |
requestLifetime (int lifetime)
문맥의 수명을 초단위로 요구합니다. |
void |
requestMutualAuth (boolean state)
문맥이 확립해 있을 때, 상호 인증을 하도록(듯이) 요구합니다. |
void |
requestReplayDet (boolean state)
문맥이 확립한 후에, 메세지마다의 시큐리티 서비스의 리플레이 검출이 유효하게 되도록(듯이) 요구합니다. |
void |
requestSequenceDet (boolean state)
문맥이 확립한 후에, 메세지마다의 시큐리티 서비스의 sequence check가 유효하게 되도록(듯이) 요구합니다. |
void |
setChannelBinding (ChannelBinding cb)
문맥이 확립해 있을 때 채널 바인딩이 사용되도록(듯이) 설정합니다. |
byte[] |
unwrap (byte[] inBuf,
int offset,
int len,
MessageProp msgProp)
문맥의 상대측의 피어로 wrap 메소드에 의해 생성된 토큰을 처리하기 위해서 사용합니다. |
void |
unwrap (InputStream inStream,
OutputStream outStream,
MessageProp msgProp)
스트림을 사용해, 문맥의 상대측의 피어로 wrap 메소드에 의해 생성된 토큰을 처리합니다. |
void |
verifyMIC (byte[] inToken,
int tokOffset,
int tokLen,
byte[] inMsg,
int msgOffset,
int msgLen,
MessageProp msgProp)
토큰 파라미터에 포함되는 암호화 MIC 를, 지정된 메세지에 대해서 검사합니다. |
void |
verifyMIC (InputStream tokStream,
InputStream msgStream,
MessageProp msgProp)
스트림을 사용해, 토큰 파라미터에 포함되는 지정된 메세지의 암호화 MIC 를 검증합니다. |
byte[] |
wrap (byte[] inBuf,
int offset,
int len,
MessageProp msgProp)
확립된 시큐리티 문맥에 대해서 메세지마다의 시큐리티 서비스를 적용합니다. |
void |
wrap (InputStream inStream,
OutputStream outStream,
MessageProp msgProp)
스트림을 사용해, 확립된 시큐리티 문맥에 메세지마다의 시큐리티 서비스를 적용합니다. |
필드의 상세 |
---|
static final int DEFAULT_LIFETIME
static final int INDEFINITE_LIFETIME
Integer.MAX_VALUE
로 설정할 필요가 있습니다.
메소드의 상세 |
---|
byte[] initSecContext(byte[] inputBuf, int offset, int len) throws GSSException
acceptSecContext
메소드에 의해 생성된 토큰을 처리합니다. 이 메소드로부터 반환되는 출력 토큰은, 피어의 acceptSecContext
메소드로 처리받기 위해서(때문에) 어플리케이션으로부터 피어에 송신할 필요가 있습니다. 문맥의 이 편에 문맥의 확립 처리가 완료했는지 어떠했는지는,isEstablished
를 호출해 확인할 수 있습니다. isEstablished
로부터 반환값 false
가 돌려주어졌을 경우는,initSecContext
에 한층 더 토큰을 제공할 필요가 있는 것을 나타내 있습니다. 문맥의 확립이 완료하면(자), 이용 가능한 문맥 옵션을 get 메소드를 사용해 조회할 수 있습니다.
initSecContext
메소드로부터 피어의 토큰이 돌려주어져isEstablished
로부터도 true
가 반환되는 일이 있습니다. 이 경우, 토큰은 피어에 송신할 필요가 있습니다만, 문맥의 상대측은 그 시점에서 완전하게 확립되어 있습니다.
일부의 기구 프로바이더에서는, 시큐리티 문맥을 기동하는 액세스권이 호출해 측에 부여되고 있을 필요가 있습니다. 액세스권의 확인에 실패했을 경우, 이 메소드로부터 SecurityException
가 throw 됩니다.
inputBuf
- 피어에 의해 생성된 토큰 최초의 호출에서는,
피어로부터 토큰을 수신하지 않기 때문에, 이 파라미터는 무시되는offset
- inputBuf 내의 오프셋(offset). 이 정도치로부터 토큰이 개시하는len
- 토큰의 길이
null
의 경우는, 토큰이 생성되지 않는 것을 나타낸다
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.DEFECTIVE_TOKEN
,
GSSException.BAD_MIC
,
GSSException.NO_CRED
,
GSSException.CREDENTIALS_EXPIRED
,
GSSException.BAD_BINDINGS
,
GSSException.OLD_TOKEN
,
GSSException.DUPLICATE_TOKEN
,
GSSException.BAD_NAMETYPE
,
GSSException.BAD_MECH
,
GSSException.FAILURE
int initSecContext(InputStream inStream, OutputStream outStream) throws GSSException
acceptSecContext
메소드에 의해 생성된 토큰을 스트림을 사용해 처리합니다. 이 메소드로부터 OutpuStream
에 써내진 출력 토큰은, 피어의 acceptSecContext
호출로 처리받기 위해서(때문에) 어플리케이션으로부터 피어에 송신할 필요가 있습니다. 일반적으로은, 이 처리를 확실히 실시하기 위해서(때문에),OutputStream
에 대해서 flush
메소드를 호출해 2 개의 피어간의 접속을 캡슐화합니다. 토큰이 OutputStream 에 써내졌는지 어떠했는지는, 이 메소드의 반환값으로부터 판단할 수 있습니다. 반환값 0
은, 토큰이 써내지지 않았던 것을 나타냅니다. 문맥의 이 편에 문맥의 확립 처리가 완료했는지 어떠했는지는,isEstablished
를 호출해 확인할 수 있습니다. isEstablished
로부터 반환값 false
가 돌려주어졌을 경우는,initSecContext
에 한층 더 토큰을 제공할 필요가 있는 것을 나타내 있습니다. 문맥의 확립이 완료하면(자), 이용 가능한 문맥 옵션을 get 메소드를 사용해 조회할 수 있습니다.
initSecContext
메소드로부터 피어의 토큰이 돌려주어져isEstablished
로부터도 true
가 반환되는 일이 있습니다. 이 경우, 토큰은 피어에 송신할 필요가 있습니다만, 문맥의 상대측은 그 시점에서 완전하게 확립되어 있습니다.
GSS-API 의 인증 토큰에는, 개시 토큰과 종료 토큰이 정의되고 있습니다. 이 메소드가 불려 갈 때마다, 이러한 토큰이 1 개씩 읽힙니다. 토큰의 일부가 읽히지 않았던 경우, 그 스트림은 블록 됩니다. 다른 모든 점에서는, 이 메소드는 byte 배열을 베이스로 한 initSecContext
와 등가입니다.
일부의 기구 프로바이더에서는, 시큐리티 문맥을 기동하는 액세스권이 호출해 측에 부여되고 있을 필요가 있습니다. 액세스권의 확인에 실패했을 경우, 이 메소드로부터 SecurityException
가 throw 됩니다.
다음의 코드예는, 이 메소드의 사용 방법을 나타내고 있습니다.
InputStream is ... OutputStream os ... GSSContext context ... // Loop while there is still a token to be processed while (! context.isEstablished()) { context.initSecContext(is, os); // send output token if generated os.flush(); }
inStream
- 피어에 의해 생성된 토큰을 포함한다
InputStream. 최초의 호출에서는, 피어로부터 토큰을 수신하지 않기 때문에,
이 파라미터는 무시되는지, 또는 그 시점의 피어로부터 수신하는outStream
- 출력 토큰이 써내진다
OutputStream. 문맥 확립의 최종 단계에서는,
써내지는 바이트가 없는 것도 있다
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.DEFECTIVE_TOKEN
,
GSSException.BAD_MIC
,
GSSException.NO_CRED
,
GSSException.CREDENTIALS_EXPIRED
,
GSSException.BAD_BINDINGS
,
GSSException.OLD_TOKEN
,
GSSException.DUPLICATE_TOKEN
,
GSSException.BAD_NAMETYPE
,
GSSException.BAD_MECH
,
GSSException.FAILURE
byte[] acceptSecContext(byte[] inToken, int offset, int len) throws GSSException
initSecContext
메소드에 송신할 필요가 있습니다.
어플리케이션은,isEstablished
를 호출하는 것으로, 이 피어로 문맥의 확립 처리가 완료했는지의 여부를 확인할 수 있습니다. isEstablished
로부터 반환값 false
가 돌려주어졌을 경우는, 이 메소드에 한층 더 토큰을 제공할 필요가 있는 것을 나타내고 있습니다. 문맥의 확립이 완료하면(자), 이용 가능한 문맥 옵션을 get 메소드를 사용해 조회할 수 있습니다.
acceptSecContext
메소드로부터 피어의 토큰이 돌려주어져isEstablished
로부터도 true
가 반환되는 일이 있습니다. 이 경우, 토큰은 피어에 송신할 필요가 있습니다만, 문맥의 상대측은 그 시점에서 완전하게 확립되어 있습니다.
일부의 기구 프로바이더에서는, 시큐리티 문맥을 받아들이는 액세스권이 호출해 측에 부여되고 있을 필요가 있습니다. 액세스권의 확인에 실패했을 경우, 이 메소드로부터 SecurityException
가 throw 됩니다.
다음의 코드예는, 이 메소드의 사용 방법을 나타내고 있습니다.
byte[] inToken; byte[] outToken; GSSContext context ... // Loop while there is still a token to be processed while (! context.isEstablished()) { inToken = readToken(); outToken = context.acceptSecContext(inToken, 0, inToken.length); // send output token if generated if (outToken ! = null) sendToken(outToken); }
inToken
- 피어에 의해 생성된 토큰offset
- inMsg 내의 오프셋(offset). 이 정도치로부터 토큰이 개시하는len
- 토큰의 길이
null
의 경우는, 토큰이 생성되지 않는 것을 나타낸다
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.DEFECTIVE_TOKEN
,
GSSException.BAD_MIC
,
GSSException.NO_CRED
,
GSSException.CREDENTIALS_EXPIRED
,
GSSException.BAD_BINDINGS
,
GSSException.OLD_TOKEN
,
GSSException.DUPLICATE_TOKEN
,
GSSException.BAD_MECH
,
GSSException.FAILURE
void acceptSecContext(InputStream inStream, OutputStream outStream) throws GSSException
OutpuStream
에 써내진 출력 토큰은, 피어의 initSecContext
메소드로 처리받기 위해서(때문에) 어플리케이션으로부터 피어에 송신할 필요가 있습니다. 일반적으로은, 이 처리를 확실히 실시하기 위해서(때문에),OutputStream
에 대해서 flush
메소드를 호출해 2 개의 피어간의 접속을 캡슐화합니다. 문맥의 이 편에 문맥의 확립 처리가 완료했는지 어떠했는지는,isEstablished
를 호출해 확인할 수 있습니다. isEstablished
로부터 반환값 false
가 돌려주어졌을 경우는,acceptSecContext
에 한층 더 토큰을 제공할 필요가 있는 것을 나타내고 있습니다. 문맥의 확립이 완료하면(자), 이용 가능한 문맥 옵션을 get 메소드를 사용해 조회할 수 있습니다.
acceptSecContext
메소드로부터 피어의 토큰이 돌려주어져isEstablished
로부터도 true
가 반환되는 일이 있습니다. 이 경우, 토큰은 피어에 송신할 필요가 있습니다만, 문맥의 상대측은 그 시점에서 완전하게 확립되어 있습니다.
GSS-API 의 인증 토큰에는, 개시 토큰과 종료 토큰이 정의되고 있습니다. 이 메소드가 불려 갈 때마다, 이러한 토큰이 1 개씩 읽힙니다. 토큰의 일부가 읽히지 않았던 경우, 그 스트림은 블록 됩니다. 다른 모든 점에서는, 이 메소드는 byte 배열을 베이스로 한 acceptSecContext
와 등가입니다.
일부의 기구 프로바이더에서는, 시큐리티 문맥을 받아들이는 액세스권이 호출해 측에 부여되고 있을 필요가 있습니다. 액세스권의 확인에 실패했을 경우, 이 메소드로부터 SecurityException
가 throw 됩니다.
다음의 코드예는, 이 메소드의 사용 방법을 나타내고 있습니다.
InputStream is ... OutputStream os ... GSSContext context ... // Loop while there is still a token to be processed while (! context.isEstablished()) { context.acceptSecContext(is, os); // send output token if generated os.flush(); }
inStream
- 피어에 의해 생성된 토큰을 포함한다
InputStream. outStream
- 출력 토큰이 써내진다
OutputStream. 문맥 확립의 최종 단계에서는,
써내지는 바이트가 없는 것도 있다
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.DEFECTIVE_TOKEN
,
GSSException.BAD_MIC
,
GSSException.NO_CRED
,
GSSException.CREDENTIALS_EXPIRED
,
GSSException.BAD_BINDINGS
,
GSSException.OLD_TOKEN
,
GSSException.DUPLICATE_TOKEN
,
GSSException.BAD_MECH
,
GSSException.FAILURE
boolean isEstablished()
true
. void dispose() throws GSSException
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
int getWrapSizeLimit(int qop, boolean confReq, int maxTokenSize) throws GSSException
wrap
에 건네줄 수가 있는 메세지 사이즈의 제한을 결정할 때 사용합니다. 이 메소드는, 최대 메세지 사이즈를 돌려줍니다. confReq
및 qop
파라미터가 같은 wrap
메소드에 이 사이즈의 메세지를 건네주면(자),maxTokenSize
바이트 이하의 출력 토큰이 생성됩니다. 어플리케이션으로 이 메소드를 사용하는 경우는, 최대 메세지 사이즈를 사용하는 프로토콜을 개입시켜 통신하는 것을 전제로 하고 있습니다. 이 메소드를 사용하면, 메세지를 단편화하고 나서 보호를 적용할 수 있습니다.
GSS-API 구현에서는,getWrapSizeLimit
를 호출했을 때에, QOP 치가 유효한가 어떤가를 검출하도록(듯이) 추천 하고 있습니다. 다만, 필수가 아닙니다. 이 루틴에서는, 최대 메세지 사이즈만이 보증되어 메세지 보호로 지정한 QOP 치를 이용할 수 있을지 어떨지에 대해서는 보증되지 않습니다.
qop
- 랩에 요구하는 보호 레벨confReq
- 랩에 프라이버시를 요구하는 경우는,
true
. 요구하지 않는 경우는,false
maxTokenSize
- 랩에 의해 생성되는 토큰의 최대 사이즈
(목표)
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.CONTEXT_EXPIRED
,
GSSException.BAD_QOP
,
GSSException.FAILURE
byte[] wrap(byte[] inBuf, int offset, int len, MessageProp msgProp) throws GSSException
MessageProp 객체는, 어플리케이션에 의해 인스턴스화 됩니다. 이 객체를 사용해, 암호화 알고리즘을 선택하기 위한 QOP 치나, 임의 지정으로 메세지를 암호화하기 위한 프라이버시 서비스를 지정합니다. 이 호출에 사용되는 부하의 기구에서는, 이 프라이버시 서비스를 제공할 수 없는 경우가 있습니다. 그 경우는, 부하의 기구가 제공하는 실제의 프라이버시 서비스가, 이 MessageProp 객체로 설정됩니다. 호출측은, 복귀하자 마자 프라이버시 서비스를 조회할 필요가 있습니다. 부하의 기구가 요구된 QOP 를 제공할 수 없는 경우는, BAD_QOP 코드가 설정된 GSSException 가 throw 됩니다.
어플리케이션 레벨의 프로토콜에는, 랩에 의해 생성된 토큰을 사용해 「세큐아후레이밍」을 제공하는 것이 있기 (위해)때문에, 구현에서는 길이 0 의 메세지의 랩을 지원할 필요가 있습니다.
어플리케이션은, 이 토큰을 피어에 송신합니다.
inBuf
- 보호되는 어플리케이션 데이터offset
- inBuf 내의 오프셋(offset). 이 정도치로부터 데이터가 개시하는len
- 데이터의 길이msgProp
- MessageProp 의 인스턴스. 필요한 QOP
(와)과 프라이버시 상태를 설정하기 위해서 어플리케이션이 사용한다. 디폴트의
QOP 를 요구하는 경우는, 지정하는 QOP 로서 0 을 설정한다. 이 메소드로부터 복귀하면(자),
이 객체에는 부하의 기구에 의해 메세지에 적용되었다
실제의 프라이버시 상태가 포함된다
GSSException
- 다음의 메이저 에러 코드를 포함한다.
GSSException.CONTEXT_EXPIRED
,
GSSException.BAD_QOP
,
GSSException.FAILURE
void wrap(InputStream inStream, OutputStream outStream, MessageProp msgProp) throws GSSException
wrap
메소드와 등가입니다.
어플리케이션은, 이 토큰을 피어에 송신합니다. 일반적으로은, 이 처리를 확실히 실시하기 위해서(때문에),OutputStream
에 대해서 flush
메소드를 호출해 2 개의 피어간의 접속을 캡슐화합니다.
MessageProp 객체는, 어플리케이션에 의해 인스턴스화 됩니다. 이 객체를 사용해, 암호화 알고리즘을 선택하기 위한 QOP 치나, 임의 지정으로 메세지를 암호화하기 위한 프라이버시 서비스를 지정합니다. 이 호출에 사용되는 부하의 기구에서는, 이 프라이버시 서비스를 제공할 수 없는 경우가 있습니다. 그 경우는, 부하의 기구가 제공하는 실제의 프라이버시 서비스가, 이 MessageProp 객체로 설정됩니다. 호출측은, 복귀하자 마자 프라이버시 서비스를 조회할 필요가 있습니다. 부하의 기구가 요구된 QOP 를 제공할 수 없는 경우는, BAD_QOP 코드가 설정된 GSSException 가 throw 됩니다.
어플리케이션 레벨의 프로토콜에는, 랩에 의해 생성된 토큰을 사용해 「세큐아후레이밍」을 제공하는 것이 있기 (위해)때문에, 구현에서는 길이 0 의 메세지의 랩을 지원할 필요가 있습니다.
inStream
- 보호되는 어플리케이션 데이터를 포함한다
InputStream. InStream 내에서 이용할 수 있는 데이터가
모두 사용되는outStream
- 보호된 메세지를 써낸다
OutputStreammsgProp
- MessageProp 의 인스턴스. 필요한 QOP
(와)과 프라이버시 상태를 설정하기 위해서 어플리케이션이 사용한다. 디폴트의
QOP 를 요구하는 경우는, 지정하는 QOP 로서 0 을 설정한다. 이 메소드로부터 복귀하면(자),
이 객체에는 부하의 기구에 의해 메세지에 적용되었다
실제의 프라이버시 상태가 포함된다
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.CONTEXT_EXPIRED
,
GSSException.BAD_QOP
,
GSSException.FAILURE
byte[] unwrap(byte[] inBuf, int offset, int len, MessageProp msgProp) throws GSSException
wrap
메소드에 의해 생성된 토큰을 처리하기 위해서 사용합니다. 이 메소드는, 피어 어플리케이션으로부터 그 랩 호출에게 건네진 메세지를 돌려주어, 동시에 그 메세지에 파묻힌 MIC 를 검사합니다. MessageProp 객체는, 어플리케이션에 의해 인스턴스화 됩니다. 이 객체는, QOP, 메세지에 기밀성이 적용되고 있는지 어떤지, 및 메세지 상태에 관한 그 외의 추가 정보를 호출해 측에 돌려주기 위해서(때문에), 부하의 기구에 의해 사용됩니다.
어플리케이션 레벨의 프로토콜에는, 랩에 의해 생성된 토큰을 사용해 「세큐아후레이밍」을 제공하는 것이 있기 (위해)때문에, 구현에서는 길이 0 의 메세지의 랩 및 랩 해제를 지원할 필요가 있습니다.
inBuf
- 피어로부터 수신한 랩 토큰을 포함한 byte
배열offset
- 토큰이 개시하는 오프셋(offset)len
- 토큰의 길이msgProp
- 이 메소드로부터 복귀하면(자), 이 객체에는, 적용되었다
QOP, 메세지의 프라이버시 상태, 및 토큰의 추가 정보
(중복 하고 있는, 낡은, 순서가 올바르지 않은, 갭의 후에 착신했는지 어떠했는지)
하지만 포함된다
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.DEFECTIVE_TOKEN
,
GSSException.BAD_MIC
,
GSSException.CONTEXT_EXPIRED
,
GSSException.FAILURE
void unwrap(InputStream inStream, OutputStream outStream, MessageProp msgProp) throws GSSException
wrap
메소드에 의해 생성된 토큰을 처리합니다. 이 메소드는, 피어 어플리케이션으로부터 그 랩 호출에게 건네진 메세지를 돌려주어, 동시에 그 메세지에 파묻힌 MIC 를 검사합니다. MessageProp 객체는, 어플리케이션에 의해 인스턴스화 됩니다. 이 객체는, QOP, 메세지에 기밀성이 적용되고 있는지 어떤지, 및 메세지 상태에 관한 그 외의 추가 정보를 호출해 측에 돌려주기 위해서(때문에), 부하의 기구에 의해 사용됩니다.
어플리케이션 레벨의 프로토콜에는, 랩에 의해 생성된 토큰을 사용해 「세큐아후레이밍」을 제공하는 것이 있기 (위해)때문에, 구현에서는 길이 0 의 메세지의 랩 및 랩 해제를 지원할 필요가 있습니다.
이 메소드가 읽어내는 입력 토큰의 형식은, 사용하는 부하의 기구의 스펙에 정의되고 있습니다. 이 메소드가 불려 갈 때마다, 이러한 토큰이 1 개씩 읽힙니다. 이 기구의 토큰에 개시 토큰과 종료 토큰이 정의되고 있는 경우, 일부의 토큰이 읽히지 않았을 때는,InputStream
는 블록 됩니다. 개시 토큰과 종료 토큰이 정의되어 있지 않은 경우는, 사용할 수 있는 모든 바이트가 그 토큰의 일부라고 보여집니다.
입력 스트림의 블록이 발생하는 일이 있는 점을 제외하면, 이 메소드는 byte 배열을 베이스로 한 unwrap
메소드와 등가입니다.
inStream
- 피어에 의해 생성된 랩 토큰을 포함한다
InputStream. outStream
- 어플리케이션 메세지를 써낸다
OutputStreammsgProp
- 이 메소드로부터 복귀하면(자), 이 객체에는, 적용되었다
QOP, 메세지의 프라이버시 상태, 및 토큰의 추가 정보
(중복 하고 있는, 낡은, 순서가 올바르지 않은, 갭의 후에 착신했는지 어떠했는지)
하지만 포함된다
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.DEFECTIVE_TOKEN
,
GSSException.BAD_MIC
,
GSSException.CONTEXT_EXPIRED
,
GSSException.FAILURE
byte[] getMIC(byte[] inMsg, int offset, int len, MessageProp msgProp) throws GSSException
프라이버시는, 랩을 호출했을 때에만 적용됩니다.
어플리케이션 레벨의 프로토콜에는, getMIC 에 의해 생성된 토큰을 사용해 「세큐아후레이밍」을 제공하는 것이 있기 (위해)때문에, 구현에서는 길이 0 의 메세지로부터 파생한 MIC 를 지원할 필요가 있습니다.
inMsg
- MIC 의 생성의 대상이 되는 메세지offset
- inMsg 내의 오프셋(offset). 이 정도치로부터 메세지가 개시하는len
- 메세지의 길이msgProp
- MessageProp
의 인스턴스.
목표 QOP 를 설정하기 위해서 어플리케이션이 사용한다. 디폴트의 QOP 를 요구하는 경우는,
msgProp
의 목표 QOP를 0
에
설정하는지,msgProp
에 null
(을)를 건네준다
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.CONTEXT_EXPIRED
,
GSSException.BAD_QOP
,
GSSException.FAILURE
void getMIC(InputStream inStream, OutputStream outStream, MessageProp msgProp) throws GSSException
getMIC
메소드와 등가입니다.
프라이버시는, 랩을 호출했을 때에만 적용됩니다. 어플리케이션 레벨의 프로토콜에는, getMIC 에 의해 생성된 토큰을 사용해 「세큐아후레이밍」을 제공하는 것이 있기 (위해)때문에, 구현에서는 길이 0 의 메세지로부터 파생한 MIC 를 지원할 필요가 있습니다.
inStream
- MIC 의 생성의 대상이 되는 메세지를 포함한다
InputStream. InStream 내에서 이용할 수 있는 데이터가
모두 사용되는outStream
- 출력 토큰을 써내는 OutputStreammsgProp
- MessageProp
의 인스턴스.
목표 QOP 를 설정하기 위해서 어플리케이션이 사용한다. 디폴트의 QOP 를 요구하는 경우는,
msgProp
의 목표 QOP를 0
에
설정하는지,msgProp
에 null
(을)를 건네준다
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.CONTEXT_EXPIRED
,
GSSException.BAD_QOP
,
GSSException.FAILURE
void verifyMIC(byte[] inToken, int tokOffset, int tokLen, byte[] inMsg, int msgOffset, int msgLen, MessageProp msgProp) throws GSSException
MessageProp 객체는, 어플리케이션에 의해 인스턴스화 됩니다. 이 객체는, 메세지에 적용된 보호의 강함을 나타내는 QOP, 및 메세지 상태에 관한 그 외의 추가 정보를 호출해 측에 돌려주기 위해서(때문에), 부하의 기구에 의해 사용됩니다.
어플리케이션 레벨의 프로토콜에는, getMIC 에 의해 생성된 토큰을 사용해 「세큐아후레이밍」을 제공하는 것이 있기 (위해)때문에, 구현에서는 길이 0 의 메세지에 대한 MIC 를 계산 및 검사할 필요가 있습니다.
inToken
- 피어의 getMIC 메소드에 의해 생성된 토큰tokOffset
- inMsg 내의 오프셋(offset). 이 정도치로부터 토큰이
개시하는tokLen
- 토큰의 길이inMsg
- 암호화 MIC 의 검사의 대상이 되는 어플리케이션
메세지msgOffset
- inMsg 내의 오프셋(offset). 이 정도치로부터 메세지가 개시하는msgLen
- 메세지의 길이msgProp
- 이 메소드로부터 복귀하면(자), 이 객체에는, 적용되었다
QOP, 및 토큰의 추가 정보 (중복 하고 있는, 낡은,
순서가 올바르지 않은, 갭의 후에 착신했는지 어떠했는지)가 포함된다
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.DEFECTIVE_TOKEN
,
GSSException.BAD_MIC
,
GSSException.CONTEXT_EXPIRED
,
GSSException.FAILURE
void verifyMIC(InputStream tokStream, InputStream msgStream, MessageProp msgProp) throws GSSException
verifyMIC
메소드와 등가입니다.
MessageProp 객체는, 어플리케이션에 의해 인스턴스화 됩니다. 이 객체는, 메세지에 적용된 보호의 강함을 나타내는 QOP, 및 메세지 상태에 관한 그 외의 추가 정보를 호출해 측에 돌려주기 위해서(때문에), 부하의 기구에 의해 사용됩니다. 어플리케이션 레벨의 프로토콜에는, getMIC 에 의해 생성된 토큰을 사용해 「세큐아후레이밍」을 제공하는 것이 있기 (위해)때문에, 구현에서는 길이 0 의 메세지에 대한 MIC 를 계산 및 검사할 필요가 있습니다.
이 메소드가 읽어내는 입력 토큰의 형식은, 사용하는 부하의 기구의 스펙에 정의되고 있습니다. 이 메소드가 불려 갈 때마다, 이러한 토큰이 1 개씩 읽힙니다. 이 기구의 토큰에 개시 토큰과 종료 토큰이 정의되고 있는 경우, 일부의 토큰이 읽히지 않았을 때는,InputStream
는 블록 됩니다. 개시 토큰과 종료 토큰이 정의되어 있지 않은 경우는, 사용할 수 있는 모든 바이트가 그 토큰의 일부라고 보여집니다.
입력 스트림의 블록이 발생하는 일이 있는 점을 제외하면, 이 메소드는 byte 배열을 베이스로 한 verifyMIC
메소드와 등가입니다.
tokStream
- 피어의 getMIC 메소드에 의해 생성된 토큰을 포함한다
InputStreammsgStream
- 암호화 MIC 의 검사의 대상이 되는 어플리케이션
메세지를 포함한 InputStream. msgStream 내에서
이용할 수 있는 데이터가 모두 사용되는msgProp
- 이 메소드로부터 복귀하면(자), 이 객체에는, 적용되었다
QOP, 및 토큰의 추가 정보 (중복 하고 있는, 낡은,
순서가 올바르지 않은, 갭의 후에 착신했는지 어떠했는지)가 포함된다
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.DEFECTIVE_TOKEN
,
GSSException.BAD_MIC
,
GSSException.CONTEXT_EXPIRED
,
GSSException.FAILURE
byte[] export() throws GSSException
이 메소드는, 시큐리티 문맥을 종료해, 프로세스간 토큰을 작성합니다. 이 프로세스간토큰을 다른 프로세스의 GSSManager.createContext
에 건네주면(자), 그 프로세스로 그 문맥이 재차 기동됩니다. 특정의 문맥의 인스턴스는, 1 번에 1 개 밖에 기동할 수 없습니다. 이 때문에, export 한 시큐리티 문맥을 문맥의 export측에서 액세스 하려고 하면(자), 실패합니다.
이 구현에서는, 프로세스간 토큰을 임포트 하는 프로세스가, 로컬 시큐리티 정책 또는 구현의 설정에 의해 제한되는 일이 있습니다. 예를 들어, 같은 어카운트로 동작하는 프로세스간에만 문맥이 건네받거나 같은 프로세스 그룹의 프로세스간에만 건네받거나 합니다.
프로세스간 토큰에는, 기밀 정보 (암호화열쇠등)가 포함되어 있는 일이 있습니다. 이러한 기밀 정보는, 가능한 한 프로세스간 토큰에 포함하지 않게 하는지, 토큰을 암호화하고 나서 어플리케이션에 돌려주세요. 다만, 표준적인 GSS-API 의 구현에서는, 이러한 대응을 적용할 수 없는 것이 있습니다. 이 때문에, 어플리케이션으로 프로세스간 토큰을 사용하는 경우는, 시큐리티에 충분히 배려해, 신뢰할 수 있는 프로세스에 전송 해 주세요.
시큐리티 문맥의 프로세스간 전송을 구현이 지원하는 것은 필수가 아닙니다. isTransferable
메소드를 호출하면, 문맥 객체를 전송 할 수 있을지 어떨지를 확인할 수 있습니다.
export 할 수 없는 문맥에 대해서 이 메소드를 호출하면(자), 에러 코드 GSSException.UNAVAILABLE
를 포함한 예외가 throw 됩니다.
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.UNAVAILABLE
,
GSSException.CONTEXT_EXPIRED
,
GSSException.NO_CONTEXT
,
GSSException.FAILURE
GSSManager.createContext(byte[])
void requestMutualAuth(boolean state) throws GSSException
initSecContext
를 최초로 호출하기 전에 실시할 필요가 있습니다.
인증 기구에 따라서는 상호 인증이 지원되어 있지 않은 것이 있습니다. 또, 어플리케이션은 상호 인증을 필요로 하지 않아도, 인증 기구가 상호 인증을 필요로 하고 있는 경우도 있습니다. 그 때문에, 이 요구를 받아들일 수 있었는지의 여부를 확인하기 위해(때문에), 어플리케이션으로 getMutualAuthState
메소드를 사용할 필요가 있습니다.
state
- 상호 인증을 사용할까
제발을 나타내는 boolean 치
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
getMutualAuthState()
void requestReplayDet(boolean state) throws GSSException
initSecContext
를 최초로 호출하기 전에 실시할 필요가 있습니다. 문맥이 확립해 있는 동안은, 리플레이 검출은 옵션은 아니고, 부하의 기구의 기능이 됩니다.
인증 기구에 따라서는 리플레이 검출이 지원되어 있지 않은 것이 있습니다. 또, 어플리케이션은 리플레이 검출을 필요로 하지 않아도, 인증 기구가 리플레이 검출을 필요로 하고 있는 경우도 있습니다. 그 때문에, 이 요구를 받아들일 수 있었는지의 여부를 확인하기 위해(때문에), 어플리케이션으로 getReplayDetState
메소드를 사용할 필요가 있습니다. 리플레이 검출이 유효하게 되어 있는 경우,MessageProp.isDuplicateToken
메소드와 MessageProp.isOldToken
메소드는,unwrap
메소드 또는 verifyMIC
메소드에게 건네지는 MessageProp
객체에 대해서 유효한 결과를 돌려줍니다.
state
- 확립한 문맥에 대해서 리플레이 검출을
유효하게 할지 어떨지를 나타내는 boolean 치
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
getReplayDetState()
void requestSequenceDet(boolean state) throws GSSException
initSecContext
를 최초로 호출하기 전에 실시할 필요가 있습니다. 문맥이 확립해 있는 동안은, sequence check는 옵션은 아니고, 부하의 기구의 기능이 됩니다. 인증 기구에 따라서는 sequence check가 지원되어 있지 않은 것이 있습니다.
또, 어플리케이션은 sequence check를 필요로 하지 않아도, 인증 기구가 sequence check를 필요로 하고 있는 경우도 있습니다. 그 때문에, 이 요구를 받아들일 수 있었는지의 여부를 확인하기 위해(때문에), 어플리케이션으로 getSequenceDetState
메소드를 사용할 필요가 있습니다. sequence check가 유효하게 되어 있는 경우,MessageProp.isDuplicateToken
,MessageProp.isOldToken
,MessageProp.isUnseqToken
,MessageProp.isGapToken
의 각 메소드는,unwrap
메소드 또는 verifyMIC
메소드에게 건네지는 MessageProp
객체에 대해서 유효한 결과를 돌려줍니다.
state
- 확립된 문맥에 대해서 sequence check를
유효하게 할지 어떨지를 나타내는 boolean 치
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
getSequenceDetState()
void requestCredDeleg(boolean state) throws GSSException
initSecContext
를 최초로 호출하기 전에 실시할 필요가 있습니다.
인증 기구에 따라서는, 자격의 위양이 지원되어 있지 않은 것이 있습니다. 그 때문에, 위양을 필요로 하는 어플리케이션은, 요구를 받아들일 수 있었는지의 여부를 확인하기 위해서 getCredDelegState
메소드를 사용할 필요가 있습니다. 위양을 사용해서는 안 되면 어플리케이션으로부터 나타났을 경우, 기구는 그 요구를 받아 위양은 행해지지 않습니다. 이것은 일반 규칙에 대한 예외로, 어느 서비스가 요구되지 않아도 기구가 그 서비스를 유효하게 하는 일이 있다고 하는 것입니다.
state
- 자격을 위양 할지 어떨지를 나타낸다
boolean 치
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
getCredDelegState()
void requestAnonymity(boolean state) throws GSSException
initSecContext
를 최초로 호출하기 전에 실시할 필요가 있습니다.
인증 기구에 따라서는, 기동측의 익명이 지원되어 있지 않은 것이 있습니다. 그 때문에, 요구를 받아들일 수 있었는지의 여부를 확인하기 위해(때문에), 어플리케이션으로 getAnonymityState
메소드를 사용할 필요가 있습니다.
state
- 기동측이 받아 들이는 쪽에 익명 주체로서
인증될지 어떨지를 나타내는 boolean 치
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
getAnonymityState()
void requestConf(boolean state) throws GSSException
wrap
메소드로 데이터의 기밀성을 유효하게 하도록(듯이) 요구합니다. 이 요구는, 문맥의 기동 측에서의 보고 실시할 수가 있어initSecContext
를 최초로 호출하기 전에 실시할 필요가 있습니다.
인증 기구에 따라서는, 기밀성을 지원하고 있지 않는 것이나, 어플리케이션으로부터 요구되지 않는 경우에서도 기밀성을 유효하게 하는 것이 있습니다. 요구를 받아들일 수 있었는지의 여부를 확인하려면 , 어플리케이션으로 getConfState
메소드를 사용합니다. 기밀성이 유효되고 있는 경우에 한정해,wrap
메소드에게 건네진 MessageProp
객체에 포함되는 프라이버시 요구를 인증 기구가 받아들입니다. 기밀성을 유효하게 하면(자), 무결성도 자동적으로 유효하게 됩니다.
state
- 기밀성을 유효하게 할지 어떨지를
가리키는 boolean 치
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
getConfState()
,
getIntegState()
,
requestInteg(boolean)
,
MessageProp
void requestInteg(boolean state) throws GSSException
wrap
메소드와 getMIC
메소드로 데이터의 무결성을 유효하게 하도록(듯이) 요구합니다. 이 요구는, 문맥의 기동 측에서의 보고 실시할 수가 있어initSecContext
를 최초로 호출하기 전에 실시할 필요가 있습니다.
인증 기구에 따라서는 무결성이 지원되어 있지 않은 것이 있습니다. 또, 어플리케이션이 무결성을 요구하지 않아도, 인증 기구가 무결성을 유효하게 하는 경우도 있습니다. 이 요구를 받아들일 수 있었는지의 여부를 확인하려면 , 어플리케이션으로 getIntegState
메소드를 사용합니다. 무결성을 무효로 하면(자), 기밀성도 자동적으로 무효가 됩니다.
state
- 무결성을 유효하게 할지 어떨지를
가리키는 boolean 치
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
getIntegState()
void requestLifetime(int lifetime) throws GSSException
initSecContext
를 최초로 호출하기 전에 실시할 필요가 있습니다.
문맥의 실제의 수명은 부하의 기구의 기능에 따라서 다르기 (위해)때문에, 어플리케이션으로 getLifetime
메소드를 호출해 확인할 필요가 있습니다.
lifetime
- 문맥으로 지정하는 수명 (초단위). 무기한의
수명을 요구하는 경우는 INDEFINITE_LIFETIME
를 사용해,
디폴트의 수명을 요구하는 경우는 DEFAULT_LIFETIME
를 사용한다
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
getLifetime()
void setChannelBinding(ChannelBinding cb) throws GSSException
initSecContext
를 최초로 호출하기 전에 실시할 필요가 있습니다. 받아 들이는 쪽으로부터 호출할 때는,acceptSecContext
를 최초로 호출하기 전에 실시할 필요가 있습니다.
cb
- 사용하는 채널 바인딩
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
boolean getCredDelegState()
requestCredDeleg
메소드는 그 요구를 받아들여 그 시점으로부터 기동 측에 대해 false
를 돌려줍니다.
requestCredDeleg(boolean)
boolean getMutualAuthState()
requestMutualAuth(boolean)
boolean getReplayDetState()
requestReplayDet(boolean)
boolean getSequenceDetState()
requestSequenceDet(boolean)
boolean getAnonymityState()
initSecContext
에 의해 그 시점까지 생성된 문맥 확립 토큰의 어느 쪽인가에, 기동측의 ID 가 공개되고 있는지 어떤지가 검사됩니다. 익명으로서의 인증이 필요한 경우는,initSecContext
를 호출하고 나서 이 메소드를 호출해, 생성된 토큰을 피어에 송신하는지, 그 문맥을 중지할까를 결정할 필요가 있습니다. 받아 들이는 쪽으로부터 이 메소드를 호출했을 경우는,acceptSecContext
에 의해 그 시점까지 처리된 토큰의 어느 쪽인가에, 기동측의 ID 가 공개되고 있는지 어떤지가 검사됩니다.
requestAnonymity(boolean)
boolean isTransferable() throws GSSException
export
메소드를 사용해, 이 문맥을 다른 프로세스에 전송 할 수 있을지 어떨지를 검사합니다. 이 호출은, 완전하게 확립된 문맥으로만 유효합니다.
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
boolean isProtReady()
wrap
,unwrap
,
getMIC
,verifyMIC
등의 메소드를
사용할 수 있는 경우는 true, 그렇지 않은 경우는
falseboolean getConfState()
isProtReady
또는 isEstablished
로부터 true
가 반환된 후에 없으면 안됩니다. 이 메소드가 true
를 돌려주는 경우는,getIntegState
도 true
를 돌려줍니다.
requestConf(boolean)
boolean getIntegState()
isProtReady
또는 isEstablished
로부터 true
가 반환된 후에 없으면 안됩니다. getConfState
가 true
를 돌려주는 경우는, 이 메소드도 true
를 돌려줍니다.
requestInteg(boolean)
int getLifetime()
isEstablished
로부터 true 가 반환된 후에 없으면 안됩니다.
requestLifetime(int)
GSSName getSrcName() throws GSSException
isProtReady
또는 isEstablished
로부터 true
가 반환된 후에 마셔 유효합니다.
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
GSSName
GSSName getTargName() throws GSSException
isProtReady
또는 isEstablished
로부터 true
가 반환된 후에 마셔 유효합니다.
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
Oid getMech() throws GSSException
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
GSSCredential getDelegCred() throws GSSException
getCredDelegState
를 사용합니다.
null
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
boolean isInitiator() throws GSSException
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.