org.ietf.jgss
Class GSSException

java.lang.Object
  |
  +--java.lang.Throwable
        |
        +--java.lang.Exception
              |
              +--org.ietf.jgss.GSSException

public class GSSException
extends Exception

This exception is thrown whenever a GSS-API error occurs, including any mechanism specific error. It may contain both the major and the minor GSS-API status codes. Major error codes are those defined at the GSS-API level in this class. Minor error codes are mechanism specific error codes that can provide additional information. The underlying mechanism implementation is responsible for setting appropriate minor status codes when throwing this exception. Aside from delivering the numeric error codes to the caller, this class performs the mapping from their numeric values to textual representations.

Normative reference:
rfc2853.txt (June 2000)

See Also:
Serialized Form

Field Summary
static int BAD_BINDINGS
          Channel bindings mismatch error.
static int BAD_MECH
          Unsupported mechanism requested error.
static int BAD_MIC
          Token had invalid integrity check error.
static int BAD_NAME
          Invalid name provided error.
static int BAD_NAMETYPE
          Name of unsupported type provided error.
static int BAD_QOP
          Unsupported QOP value error.
static int BAD_STATUS
          Invalid status code error - this is the default status value.
static int CONTEXT_EXPIRED
          Specified security context expired error.
static int CREDENTIALS_EXPIRED
          Expired credentials detected error.
static int DEFECTIVE_CREDENTIAL
          Defective credential error.
static int DEFECTIVE_TOKEN
          Defective token error.
static int DUPLICATE_ELEMENT
          Duplicate credential element requested error.
static int DUPLICATE_TOKEN
          The token was a duplicate of an earlier token.
static int FAILURE
          General failure, unspecified at GSS-API level.
static int GAP_TOKEN
          An expected per-message token was not received.
protected  int minorCode
           
protected  String minorString
           
static int NAME_NOT_MN
          Name contains multi-mechanism elements error.
static int NO_CONTEXT
          Invalid security context error.
static int NO_CRED
          Invalid credentials error.
static int OLD_TOKEN
          The token's validity period has expired.
static int UNAUTHORIZED
          Operation unauthorized error.
static int UNAVAILABLE
          Operation unavailable error.
static int UNSEQ_TOKEN
          A later token has already been processed.
 
Constructor Summary
GSSException(int majorCode)
          Creates a GSSException object with a specified major code.
GSSException(int majorCode, int minorCode, String minorString)
          Creates a GSSException object with the specified major code, minor code, and minor code textual explanation.
 
Method Summary
 int getMajor()
          Returns the GSS-API level major error code for the problem causing this exception to be thrown.
 String getMajorString()
          Returns a string explaining the GSS-API level major error code in this exception.
 String getMessage()
          Returns a textual representation of both the major and the minor status codes.
 int getMinor()
          Returns the mechanism level error code for the problem causing this exception to be thrown.
 String getMinorString()
          Returns a string explaining the mechanism specific error code.
 void setMinor(int minorCode, String message)
          Used by the exception thrower to set the mechanism level minor error code and its string explanation.
 String toString()
          Returns a textual representation of both the major and minor status codes.
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getLocalizedMessage, printStackTrace, printStackTrace, printStackTrace
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

BAD_MECH

public static final int BAD_MECH
Unsupported mechanism requested error.

BAD_NAME

public static final int BAD_NAME
Invalid name provided error.

BAD_NAMETYPE

public static final int BAD_NAMETYPE
Name of unsupported type provided error.

BAD_BINDINGS

public static final int BAD_BINDINGS
Channel bindings mismatch error.

BAD_STATUS

public static final int BAD_STATUS
Invalid status code error - this is the default status value.

BAD_MIC

public static final int BAD_MIC
Token had invalid integrity check error.

NO_CRED

public static final int NO_CRED
Invalid credentials error.

NO_CONTEXT

public static final int NO_CONTEXT
Invalid security context error.

DEFECTIVE_TOKEN

public static final int DEFECTIVE_TOKEN
Defective token error.

DEFECTIVE_CREDENTIAL

public static final int DEFECTIVE_CREDENTIAL
Defective credential error.

CREDENTIALS_EXPIRED

public static final int CREDENTIALS_EXPIRED
Expired credentials detected error.

CONTEXT_EXPIRED

public static final int CONTEXT_EXPIRED
Specified security context expired error.

FAILURE

public static final int FAILURE
General failure, unspecified at GSS-API level.

BAD_QOP

public static final int BAD_QOP
Unsupported QOP value error.

UNAUTHORIZED

public static final int UNAUTHORIZED
Operation unauthorized error.

UNAVAILABLE

public static final int UNAVAILABLE
Operation unavailable error.

DUPLICATE_ELEMENT

public static final int DUPLICATE_ELEMENT
Duplicate credential element requested error.

NAME_NOT_MN

public static final int NAME_NOT_MN
Name contains multi-mechanism elements error.

DUPLICATE_TOKEN

public static final int DUPLICATE_TOKEN
The token was a duplicate of an earlier token. This is a fatal error code that may occur during context establishment. It is not used to indicate supplementary status values. The MessageProp object is used for that purpose.

OLD_TOKEN

public static final int OLD_TOKEN
The token's validity period has expired. This is a fatal error code that may occur during context establishment. It is not used to indicate supplementary status values. The MessageProp object is used for that purpose.

UNSEQ_TOKEN

public static final int UNSEQ_TOKEN
A later token has already been processed. This is a fatal error code that may occur during context establishment. It is not used to indicate supplementary status values. The MessageProp object is used for that purpose.

GAP_TOKEN

public static final int GAP_TOKEN
An expected per-message token was not received. This is a fatal error code that may occur during context establishment. It is not used to indicate supplementary status values. The MessageProp object is used for that purpose.

minorCode

protected int minorCode

minorString

protected String minorString
Constructor Detail

GSSException

public GSSException(int majorCode)
Creates a GSSException object with a specified major code.
Parameters:
majorCode - the GSS error code for the problem causing this exception to be thrown.

GSSException

public GSSException(int majorCode,
                    int minorCode,
                    String minorString)
Creates a GSSException object with the specified major code, minor code, and minor code textual explanation. This constructor is to be used when the exception is originating from the security mechanism. It allows to specify the GSS code and the mechanism code.
Parameters:
majorCode - the GSS error code for the problem causing this exception to be thrown.
minorCode - the mechanism level error code fo the problem causing this exception to be thrown.
minorString - the textual explanation of the mechanism error code.
Method Detail

getMajor

public int getMajor()
Returns the GSS-API level major error code for the problem causing this exception to be thrown. Major error codes are defined at the mechanism independent GSS-API level in this class. Mechanism specific error codes that might provide more information aer set as the minor error code.
Returns:
the GSS-API level major error code causing this exception

getMinor

public int getMinor()
Returns the mechanism level error code for the problem causing this exception to be thrown. The minor code is set by the underlying mechanism.
Returns:
the mechanism error code; 0 indicates that it has not been set.

getMajorString

public String getMajorString()
Returns a string explaining the GSS-API level major error code in this exception.
Returns:
explanation string for the major error code.

getMinorString

public String getMinorString()
Returns a string explaining the mechanism specific error code. If the minor status code is 0, then no mechanism level error details will be available.
Returns:
a textual explanation of mechanism error code.

setMinor

public void setMinor(int minorCode,
                     String message)
Used by the exception thrower to set the mechanism level minor error code and its string explanation. This is used by mechanism providers to indicate error details.
Parameters:
minorCode - the mechanism specific error code.
message - textual explanation of the mechanism error code.

toString

public String toString()
Returns a textual representation of both the major and minor status codes.
Overrides:
toString in class Throwable
Returns:
a String with the error descriptions.

getMessage

public String getMessage()
Returns a textual representation of both the major and the minor status codes.
Overrides:
getMessage in class Throwable
Returns:
a String with the error descriptions.