The context object can be thought of as having 3 implicit states: before it is established, during its context establishment, and after a fully established context exists.
Before the context establishment phase is initiated, the context initiator may request specific characteristics desired of the established context. These can be set using the set methods. After the context is established, the caller can check the actual characteristic and services offered by the context using the query methods.
The context establishment phase begins with the first call to the initSecContext method by the context initiator. During this phase the initSecContext and acceptSecContext methods will produce GSS-API authentication tokens which the calling application needs to send to its peer. The initSecContext and acceptSecContext methods may return a CONTINUE_NEEDED code which indicates that a token is needed from its peer in order to continue the context establishment phase. A return code of COMPLETE signals that the local end of the context is established. This may still require that a token be sent to the peer, depending if one is produced by GSS-API. The isEstablished method can also be used to determine if the local end of the context has been fully established. During the context establishment phase, the isProtReady method may be called to determine if the context can be used for the per-message operations. This allows implementation to use per-message operations on contexts which aren't fully established.
After the context has been established or the isProtReady method returns "true", the query routines can be invoked to determine the actual characteristics and services of the established context. The application can also start using the per-message methods of wrap and getMIC to obtain cryptographic operations on application supplied data.
When the context is no longer needed, the application should call dispose to release any system resources the context may be using.
| Modifier and Type | Field and Description |
|---|---|
| private ChannelBinding | |
| private int | |
| private static final int | |
| private GSSManagerImpl | |
| private static final int | |
| private boolean | |
| private GSSContextSpi | |
| private Oid | |
| private GSSCredentialImpl | |
| private ObjectIdentifier | |
| private static final int | |
| private static final int | |
| private boolean | |
| private boolean | |
| private boolean | |
| private boolean | |
| private boolean | |
| private int | |
| private boolean | |
| private boolean | |
| private boolean | |
| private GSSNameImpl | |
| private GSSNameImpl |
| Access | Constructor and Description |
|---|---|
| public | |
| protected | |
| public | GSSContextImpl(GSSManagerImpl gssManager, GSSName peer, Oid mech, GSSCredential myCred, int lifetime)
Creates a GSSContextImp on the context initiator's side. |
| public | GSSContextImpl(GSSManagerImpl gssManager, GSSCredential myCred)
Creates a GSSContextImpl on the context acceptor's side. |
| public | GSSContextImpl(GSSManagerImpl gssManager, byte[] interProcessToken)
Creates a GSSContextImpl out of a previously exported GSSContext. |
| Modifier and Type | Method and Description |
|---|---|
| public byte[] | acceptSecContext(byte[] inTok, int offset, int len)
Implements org. Called by the context acceptor upon receiving a token from the peer. |
| public void | acceptSecContext(InputStream inStream, OutputStream outStream)
Implements org.
Deprecated
since 11.
Called by the context acceptor to process a token from the peer using streams. |
| public void | dispose()
Implements org. Releases any system resources and cryptographic information stored in the context object and invalidates the context. |
| public byte[] | export()
Implements org. Exports this context so that another process may import it. |
| public boolean | getAnonymityState()
Implements org. Determines if the context initiator is anonymously authenticated to the context acceptor. |
| public boolean | getConfState()
Implements org. Determines if data confidentiality is available over the context. |
| public boolean | getCredDelegState()
Implements org. Determines if credential delegation is enabled on this context. |
| public GSSCredential | getDelegCred()
Implements org. Obtains the credentials delegated by the context initiator to the context acceptor. |
| public boolean | |
| public boolean | getIntegState()
Implements org. Determines if data integrity is available over the context. |
| public int | getLifetime()
Implements org. Determines what the remaining lifetime for this context is. |
| public Oid | getMech()
Implements org. Determines what mechanism is being used for this context. |
| public byte[] | getMIC(byte[] inMsg, int offset, int len, MessageProp msgProp)
Implements org. Returns a token containing a cryptographic Message Integrity Code (MIC) for the supplied message, for transfer to the peer application. |
| public void | getMIC(InputStream inStream, OutputStream outStream, MessageProp msgProp)
Implements org.
Deprecated
since 11.
Uses streams to produce a token containing a cryptographic MIC for the supplied message, for transfer to the peer application. |
| public boolean | getMutualAuthState()
Implements org. Determines if mutual authentication is enabled on this context. |
| public boolean | getReplayDetState()
Implements org. Determines if replay detection is enabled for the per-message security services from this context. |
| public boolean | getSequenceDetState()
Implements org. Determines if sequence checking is enabled for the per-message security services from this context. |
| public GSSName | getSrcName()
Implements org. Returns the name of the context initiator. |
| public GSSName | getTargName()
Implements org. Returns the name of the context acceptor. |
| public int | getWrapSizeLimit(int qop, boolean confReq, int maxTokenSize)
Implements org. Used to determine limits on the size of the message
that can be passed to |
| public byte[] | initSecContext(byte[] inputBuf, int offset, int len)
Implements org. Called by the context initiator to start the context creation
phase and process any tokens generated
by the peer's |
| public int | initSecContext(InputStream inStream, OutputStream outStream)
Implements org.
Deprecated
since 11.
Called by the context initiator to start the context creation
phase and process any tokens generated
by the peer's |
| public Object | |
| public boolean | isEstablished()
Implements org. Used during context establishment to determine the state of the context. |
| public boolean | isInitiator()
Implements org. Determines if this is the context initiator. |
| public boolean | isProtReady()
Implements org. Determines if the context is ready for per message operations to be used over it. |
| public boolean | isTransferable()
Implements org. Determines if the context is transferable to other processes
through the use of the |
| public void | requestAnonymity(boolean state)
Implements org. Requests that the initiator's identity not be disclosed to the acceptor. |
| public void | requestConf(boolean state)
Implements org. Requests that data confidentiality be enabled
for the |
| public void | requestCredDeleg(boolean state)
Implements org. Requests that the initiator's credentials be delegated to the acceptor during context establishment. |
| public void | |
| public void | requestInteg(boolean state)
Implements org. Requests that data integrity be enabled
for the |
| public void | requestLifetime(int lifetime)
Implements org. Requests a lifetime in seconds for the context. |
| public void | requestMutualAuth(boolean state)
Implements org. Requests that mutual authentication be done during context establishment. |
| public void | requestReplayDet(boolean state)
Implements org. Requests that replay detection be enabled for the per-message security services after context establishment. |
| public void | requestSequenceDet(boolean state)
Implements org. Requests that sequence checking be enabled for the per-message security services after context establishment. |
| public void | setChannelBinding(ChannelBinding channelBindings)
Implements org. Sets the channel bindings to be used during context establishment. |
| public byte[] | unwrap(byte[] inBuf, int offset, int len, MessageProp msgProp)
Implements org. Used to process tokens generated by the |
| public void | unwrap(InputStream inStream, OutputStream outStream, MessageProp msgProp)
Implements org.
Deprecated
since 11.
Uses streams to process tokens generated by the |
| public void | verifyMIC(byte[] inTok, int tokOffset, int tokLen, byte[] inMsg, int msgOffset, int msgLen, MessageProp msgProp)
Implements org. Verifies the cryptographic MIC, contained in the token parameter, over the supplied message. |
| public void | verifyMIC(InputStream tokStream, InputStream msgStream, MessageProp msgProp)
Implements org.
Deprecated
since 11.
Uses streams to verify the cryptographic MIC, contained in the token parameter, over the supplied message. |
| public byte[] | wrap(byte[] inBuf, int offset, int len, MessageProp msgProp)
Implements org. Applies per-message security services over the established security context. |
| public void | wrap(InputStream inStream, OutputStream outStream, MessageProp msgProp)
Implements org.
Deprecated
since 11.
Applies per-message security services over the established security context using streams. |
| channelBindings | back to summary |
|---|---|
| private ChannelBinding channelBindings | |
| currentState | back to summary |
|---|---|
| private int currentState | |
| DELETED | back to summary |
|---|---|
| private static final int DELETED | |
| gssManager | back to summary |
|---|---|
| private GSSManagerImpl gssManager | |
| IN_PROGRESS | back to summary |
|---|---|
| private static final int IN_PROGRESS | |
| initiator | back to summary |
|---|---|
| private boolean initiator | |
| mechCtxt | back to summary |
|---|---|
| private GSSContextSpi mechCtxt | |
| mechOid | back to summary |
|---|---|
| private Oid mechOid | |
| myCred | back to summary |
|---|---|
| private GSSCredentialImpl myCred | |
| objId | back to summary |
|---|---|
| private ObjectIdentifier objId | |
| PRE_INIT | back to summary |
|---|---|
| private static final int PRE_INIT | |
| READY | back to summary |
|---|---|
| private static final int READY | |
| reqAnonState | back to summary |
|---|---|
| private boolean reqAnonState | |
| reqConfState | back to summary |
|---|---|
| private boolean reqConfState | |
| reqCredDelegState | back to summary |
|---|---|
| private boolean reqCredDelegState | |
| reqDelegPolicyState | back to summary |
|---|---|
| private boolean reqDelegPolicyState | |
| reqIntegState | back to summary |
|---|---|
| private boolean reqIntegState | |
| reqLifetime | back to summary |
|---|---|
| private int reqLifetime | |
| reqMutualAuthState | back to summary |
|---|---|
| private boolean reqMutualAuthState | |
| reqReplayDetState | back to summary |
|---|---|
| private boolean reqReplayDetState | |
| reqSequenceDetState | back to summary |
|---|---|
| private boolean reqSequenceDetState | |
| srcName | back to summary |
|---|---|
| private GSSNameImpl srcName | |
| targName | back to summary |
|---|---|
| private GSSNameImpl targName | |
| GSSContextImpl | back to summary |
|---|---|
| public GSSContextImpl() | |
| GSSContextImpl | back to summary |
|---|---|
| protected GSSContextImpl(GSSContextImpl src) | |
| GSSContextImpl | back to summary |
|---|---|
| public GSSContextImpl(GSSManagerImpl gssManager, GSSName peer, Oid mech, GSSCredential myCred, int lifetime) throws GSSException Creates a GSSContextImp on the context initiator's side. | |
| GSSContextImpl | back to summary |
|---|---|
| public GSSContextImpl(GSSManagerImpl gssManager, GSSCredential myCred) throws GSSException Creates a GSSContextImpl on the context acceptor's side. | |
| GSSContextImpl | back to summary |
|---|---|
| public GSSContextImpl(GSSManagerImpl gssManager, byte[] interProcessToken) throws GSSException Creates a GSSContextImpl out of a previously exported GSSContext.
| |
| acceptSecContext | back to summary |
|---|---|
| public byte[] acceptSecContext(byte[] inTok, int offset, int len) throws GSSException Implements org. Doc from org. Called by the context acceptor upon receiving a token from the
peer. This method may return an output token which the application
will need to send to the peer for further processing by its
The application can call
Note that it is possible that The following example code demonstrates how this method might be used:
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);
}
| |
| acceptSecContext | back to summary |
|---|---|
| public void acceptSecContext(InputStream inStream, OutputStream outStream) throws GSSException Implements org. Doc from org. Deprecated since 11. Called by the context acceptor to process a token from the peer using
streams. It may write an output token to the
Note that it is possible that
The GSS-API authentication tokens contain a definitive start and
end. This method will attempt to read one of these tokens per
invocation, and may block on the stream if only part of the token is
available. In all other respects this method is equivalent to the byte
array based The following example code demonstrates how this method might be used:
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();
}
| |
| dispose | back to summary |
|---|---|
| public void dispose() throws GSSException Implements org. Doc from org. Releases any system resources and cryptographic information stored in the context object and invalidates the context.
| |
| export | back to summary |
|---|---|
| public byte[] export() throws GSSException Implements org. Doc from org. Exports this context so that another process may import it. Provided to support the sharing of work between multiple processes. This routine will typically be used by the context-acceptor, in an application where a single process receives incoming connection requests and accepts security contexts over them, then passes the established context to one or more other processes for message exchange.
This method deactivates the security context and creates an
interprocess token which, when passed to The implementation may constrain the set of processes by which the interprocess token may be imported, either as a function of local security policy, or as a result of implementation decisions. For example, some implementations may constrain contexts to be passed only between processes that run under the same account, or which are part of the same process group. The interprocess token may contain security-sensitive information (for example cryptographic keys). While mechanisms are encouraged to either avoid placing such sensitive information within interprocess tokens, or to encrypt the token before returning it to the application, in a typical GSS-API implementation this may not be possible. Thus, the application must take care to protect the interprocess token, and ensure that any process to which the token is transferred is trustworthy.
Implementations are not required to support the inter-process
transfer of security contexts. Calling the
Calling this method on a context that
is not exportable will result in this exception being thrown with
the error code
| |
| getAnonymityState | back to summary |
|---|---|
| public boolean getAnonymityState() Implements org. Doc from org. Determines if the context initiator is
anonymously authenticated to the context acceptor. It can be called by
both the context initiator and the context acceptor, and at any
time. On the initiator side, a call to this method determines
if the identity of the initiator has been disclosed in any of the
context establishment tokens that might have been generated thus far
by | |
| getConfState | back to summary |
|---|---|
| public boolean getConfState() Implements org. Doc from org. Determines if data confidentiality is available
over the context. This method can be called by both the context
initiator and the context acceptor, but only after one of | |
| getCredDelegState | back to summary |
|---|---|
| public boolean getCredDelegState() Implements org. Doc from org. Determines if credential delegation is enabled on
this context. It can be called by both the context initiator and the
context acceptor. For a definitive answer this method must be
called only after context establishment is complete. Note that if an
initiator requests that delegation not be allowed the | |
| getDelegCred | back to summary |
|---|---|
| public GSSCredential getDelegCred() throws GSSException Implements org. Doc from org. Obtains the credentials delegated by the context
initiator to the context acceptor. It should be called only on the
context acceptor's side, and once the context is fully
established. The caller can use the method
| |
| getDelegPolicyState | back to summary |
|---|---|
| public boolean getDelegPolicyState() | |
| getIntegState | back to summary |
|---|---|
| public boolean getIntegState() Implements org. Doc from org. Determines if data integrity is available
over the context. This method can be called by both the context
initiator and the context acceptor, but only after one of | |
| getLifetime | back to summary |
|---|---|
| public int getLifetime() Implements org. Doc from org. Determines what the remaining lifetime for this
context is. It can be called by both the context initiator and the
context acceptor, but for a definitive answer it should be called
only after | |
| getMech | back to summary |
|---|---|
| public Oid getMech() throws GSSException Implements org. Doc from org. Determines what mechanism is being used for this context. This method may be called before the context is fully established, but the mechanism returned may change on successive calls in the negotiated mechanism case.
| |
| getMIC | back to summary |
|---|---|
| public byte[] getMIC(byte[] inMsg, int offset, int len, MessageProp msgProp) throws GSSException Implements org. Doc from org. Returns a token containing a cryptographic Message Integrity Code (MIC) for the supplied message, for transfer to the peer application. Unlike wrap, which encapsulates the user message in the returned token, only the message MIC is returned in the output token. Note that privacy can only be applied through the wrap call. Since some application-level protocols may wish to use tokens emitted by getMIC to provide "secure framing", implementations should support derivation of MICs from zero-length messages.
| |
| getMIC | back to summary |
|---|---|
| public void getMIC(InputStream inStream, OutputStream outStream, MessageProp msgProp) throws GSSException Implements org. Doc from org. Deprecated since 11. Uses streams to produce a token containing a cryptographic MIC for
the supplied message, for transfer to the peer application.
Unlike wrap, which encapsulates the user message in the returned
token, only the message MIC is produced in the output token. This
method is equivalent to the byte array based Since some application-level protocols may wish to use tokens emitted by getMIC to provide "secure framing", implementations should support derivation of MICs from zero-length messages.
| |
| getMutualAuthState | back to summary |
|---|---|
| public boolean getMutualAuthState() Implements org. Doc from org. Determines if mutual authentication is enabled on this context. It can be called by both the context initiator and the context acceptor. For a definitive answer this method must be called only after context establishment is complete. An initiator that requests mutual authentication can call this method after context completion and dispose the context if its request was not honored. | |
| getReplayDetState | back to summary |
|---|---|
| public boolean getReplayDetState() Implements org. Doc from org. Determines if replay detection is enabled for the per-message security services from this context. It can be called by both the context initiator and the context acceptor. For a definitive answer this method must be called only after context establishment is complete. An initiator that requests replay detection can call this method after context completion and dispose the context if its request was not honored. | |
| getSequenceDetState | back to summary |
|---|---|
| public boolean getSequenceDetState() Implements org. Doc from org. Determines if sequence checking is enabled for the per-message security services from this context. It can be called by both the context initiator and the context acceptor. For a definitive answer this method must be called only after context establishment is complete. An initiator that requests sequence checking can call this method after context completion and dispose the context if its request was not honored. | |
| getSrcName | back to summary |
|---|---|
| public GSSName getSrcName() throws GSSException Implements org. Doc from org. Returns the name of the context initiator. This call is valid only
after one of
| |
| getTargName | back to summary |
|---|---|
| public GSSName getTargName() throws GSSException Implements org. Doc from org. Returns the name of the context acceptor. This call is valid only
after one of
| |
| getWrapSizeLimit | back to summary |
|---|---|
| public int getWrapSizeLimit(int qop, boolean confReq, int maxTokenSize) throws GSSException Implements org. Doc from org. Used to determine limits on the size of the message
that can be passed to This call is intended for use by applications that communicate over protocols that impose a maximum message size. It enables the application to fragment messages prior to applying protection.
GSS-API implementations are recommended but not required to detect
invalid QOP values when
| |
| initSecContext | back to summary |
|---|---|
| public byte[] initSecContext(byte[] inputBuf, int offset, int len) throws GSSException Implements org. Doc from org. Called by the context initiator to start the context creation
phase and process any tokens generated
by the peer's
Note that it is possible that the
| |
| initSecContext | back to summary |
|---|---|
| public int initSecContext(InputStream inStream, OutputStream outStream) throws GSSException Implements org. Doc from org. Deprecated since 11. Called by the context initiator to start the context creation
phase and process any tokens generated
by the peer's
Note that it is possible that the
The GSS-API authentication tokens contain a definitive start and
end. This method will attempt to read one of these tokens per
invocation, and may block on the stream if only part of the token is
available. In all other respects this method is equivalent to the
byte array based The following example code demonstrates how this method might be used:
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();
}
| |
| inquireSecContext | back to summary |
|---|---|
| public Object inquireSecContext(String type) throws GSSException | |
| isEstablished | back to summary |
|---|---|
| public boolean isEstablished() Implements org. Doc from org. Used during context establishment to determine the state of the context. | |
| isInitiator | back to summary |
|---|---|
| public boolean isInitiator() throws GSSException Implements org. Doc from org. Determines if this is the context initiator. This can be called on both the context initiator's and context acceptor's side.
| |
| isProtReady | back to summary |
|---|---|
| public boolean isProtReady() Implements org. Doc from org. Determines if the context is ready for per message operations to be used over it. Some mechanisms may allow the usage of the per-message operations before the context is fully established. | |
| isTransferable | back to summary |
|---|---|
| public boolean isTransferable() throws GSSException Implements org. Doc from org. Determines if the context is transferable to other processes
through the use of the
| |
| requestAnonymity | back to summary |
|---|---|
| public void requestAnonymity(boolean state) throws GSSException Implements org. Doc from org. Requests that the initiator's identity not be
disclosed to the acceptor. This request can only be made on the
context initiator's side, and it has to be done prior to the first
call to
| |
| requestConf | back to summary |
|---|---|
| public void requestConf(boolean state) throws GSSException Implements org. Doc from org. Requests that data confidentiality be enabled
for the Enabling confidentiality will also automatically enable integrity.
| |
| requestCredDeleg | back to summary |
|---|---|
| public void requestCredDeleg(boolean state) throws GSSException Implements org. Doc from org. Requests that the initiator's credentials be
delegated to the acceptor during context establishment. This
request can only be made on the context initiator's side, and it has
to be done prior to the first call to
| |
| requestDelegPolicy | back to summary |
|---|---|
| public void requestDelegPolicy(boolean state) throws GSSException | |
| requestInteg | back to summary |
|---|---|
| public void requestInteg(boolean state) throws GSSException Implements org. Doc from org. Requests that data integrity be enabled
for the Disabling integrity will also automatically disable confidentiality.
| |
| requestLifetime | back to summary |
|---|---|
| public void requestLifetime(int lifetime) throws GSSException Implements org. Doc from org. Requests a lifetime in seconds for the
context. This method can only be called on the context initiator's
side, and it has to be done prior to the first call to
The actual lifetime of the context will depend on the capabilities of
the underlying mechanism and the application should call the
| |
| requestMutualAuth | back to summary |
|---|---|
| public void requestMutualAuth(boolean state) throws GSSException Implements org. Doc from org. Requests that mutual authentication be done during
context establishment. This request can only be made on the context
initiator's side, and it has to be done prior to the first call to
Not all mechanisms support mutual authentication and some mechanisms
might require mutual authentication even if the application
doesn't. Therefore, the application should check to see if the
request was honored with the
| |
| requestReplayDet | back to summary |
|---|---|
| public void requestReplayDet(boolean state) throws GSSException Implements org. Doc from org. Requests that replay detection be enabled for the
per-message security services after context establishment. This
request can only be made on the context initiator's side, and it has
to be done prior to the first call to
Not all mechanisms support replay detection and some mechanisms
might require replay detection even if the application
doesn't. Therefore, the application should check to see if the
request was honored with the
| |
| requestSequenceDet | back to summary |
|---|---|
| public void requestSequenceDet(boolean state) throws GSSException Implements org. Doc from org. Requests that sequence checking be enabled for the
per-message security services after context establishment. This
request can only be made on the context initiator's side, and it has
to be done prior to the first call to
Not all mechanisms support sequence checking and some mechanisms
might require sequence checking even if the application
doesn't. Therefore, the application should check to see if the
request was honored with the
| |
| setChannelBinding | back to summary |
|---|---|
| public void setChannelBinding(ChannelBinding channelBindings) throws GSSException Implements org. Doc from org. Sets the channel bindings to be used during context
establishment. This method can be called on both
the context initiator's and the context acceptor's side, but it must
be called before context establishment begins. This means that an
initiator must call it before the first call to
| |
| unwrap | back to summary |
|---|---|
| public byte[] unwrap(byte[] inBuf, int offset, int len, MessageProp msgProp) throws GSSException Implements org. Doc from org. Used to process tokens generated by the The MessageProp object is instantiated by the application and is used by the underlying mechanism to return information to the caller such as the QOP, whether confidentiality was applied to the message, and other supplementary message state information. Since some application-level protocols may wish to use tokens emitted by wrap to provide "secure framing", implementations should support the wrapping and unwrapping of zero-length messages.
| |
| unwrap | back to summary |
|---|---|
| public void unwrap(InputStream inStream, OutputStream outStream, MessageProp msgProp) throws GSSException Implements org. Doc from org. Deprecated since 11. Uses streams to process tokens generated by the The MessageProp object is instantiated by the application and is used by the underlying mechanism to return information to the caller such as the QOP, whether confidentiality was applied to the message, and other supplementary message state information. Since some application-level protocols may wish to use tokens emitted by wrap to provide "secure framing", implementations should support the wrapping and unwrapping of zero-length messages.
The format of the input token that this method
reads is defined in the specification for the underlying mechanism that
will be used. This method will attempt to read one of these tokens per
invocation. If the mechanism token contains a definitive start and
end this method may block on the
Other than the possible blocking behavior described above, this
method is equivalent to the byte array based
| |
| verifyMIC | back to summary |
|---|---|
| public void verifyMIC(byte[] inTok, int tokOffset, int tokLen, byte[] inMsg, int msgOffset, int msgLen, MessageProp msgProp) throws GSSException Implements org. Doc from org. Verifies the cryptographic MIC, contained in the token parameter, over the supplied message. The MessageProp object is instantiated by the application and is used by the underlying mechanism to return information to the caller such as the QOP indicating the strength of protection that was applied to the message and other supplementary message state information. Since some application-level protocols may wish to use tokens emitted by getMIC to provide "secure framing", implementations should support the calculation and verification of MICs over zero-length messages.
| |
| verifyMIC | back to summary |
|---|---|
| public void verifyMIC(InputStream tokStream, InputStream msgStream, MessageProp msgProp) throws GSSException Implements org. Doc from org. Deprecated since 11. Uses streams to verify the cryptographic MIC, contained in the token
parameter, over the supplied message. This method is equivalent to
the byte array based Since some application-level protocols may wish to use tokens emitted by getMIC to provide "secure framing", implementations should support the calculation and verification of MICs over zero-length messages.
The format of the input token that this method
reads is defined in the specification for the underlying mechanism that
will be used. This method will attempt to read one of these tokens per
invocation. If the mechanism token contains a definitive start and
end this method may block on the
Other than the possible blocking behavior described above, this
method is equivalent to the byte array based
| |
| wrap | back to summary |
|---|---|
| public byte[] wrap(byte[] inBuf, int offset, int len, MessageProp msgProp) throws GSSException Implements org. Doc from org. Applies per-message security services over the established security context. The method will return a token with the application supplied data and a cryptographic MIC over it. The data may be encrypted if confidentiality (privacy) was requested. The MessageProp object is instantiated by the application and used to specify a QOP value which selects cryptographic algorithms, and a privacy service to optionally encrypt the message. The underlying mechanism that is used in the call may not be able to provide the privacy service. It sets the actual privacy service that it does provide in this MessageProp object which the caller should then query upon return. If the mechanism is not able to provide the requested QOP, it throws a GSSException with the BAD_QOP code. Since some application-level protocols may wish to use tokens emitted by wrap to provide "secure framing", implementations should support the wrapping of zero-length messages. The application will be responsible for sending the token to the peer.
| |
| wrap | back to summary |
|---|---|
| public void wrap(InputStream inStream, OutputStream outStream, MessageProp msgProp) throws GSSException Implements org. Doc from org. Deprecated since 11. Applies per-message security services over the established security
context using streams. The method will return a
token with the application supplied data and a cryptographic MIC over it.
The data may be encrypted if confidentiality
(privacy) was requested. This method is equivalent to the byte array
based
The application will be responsible for sending the token to the
peer. Typically, the application would
ensure this by calling the The MessageProp object is instantiated by the application and used to specify a QOP value which selects cryptographic algorithms, and a privacy service to optionally encrypt the message. The underlying mechanism that is used in the call may not be able to provide the privacy service. It sets the actual privacy service that it does provide in this MessageProp object which the caller should then query upon return. If the mechanism is not able to provide the requested QOP, it throws a GSSException with the BAD_QOP code. Since some application-level protocols may wish to use tokens emitted by wrap to provide "secure framing", implementations should support the wrapping of zero-length messages.
| |