FileDocCategorySizeDatePackage
GSSException.javaAPI DocJava SE 5 API10989Fri Aug 26 14:58:26 BST 2005org.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.

author
Mayank Upadhyay
version
1.11, 12/19/03
since
1.4

Fields Summary
private static final long
serialVersionUID
public static final int
BAD_BINDINGS
Channel bindings mismatch.
public static final int
BAD_MECH
Unsupported mechanism requested.
public static final int
BAD_NAME
Invalid name provided.
public static final int
BAD_NAMETYPE
Name of unsupported type provided.
public static final int
BAD_STATUS
Invalid status code.
public static final int
BAD_MIC
Token had invalid integrity check.
public static final int
CONTEXT_EXPIRED
Security context expired.
public static final int
CREDENTIALS_EXPIRED
Expired credentials.
public static final int
DEFECTIVE_CREDENTIAL
Defective credentials.
public static final int
DEFECTIVE_TOKEN
Defective token.
public static final int
FAILURE
General failure, unspecified at GSS-API level.
public static final int
NO_CONTEXT
Invalid security context.
public static final int
NO_CRED
Invalid credentials.
public static final int
BAD_QOP
Unsupported QOP value.
public static final int
UNAUTHORIZED
Operation unauthorized.
public static final int
UNAVAILABLE
Operation unavailable.
public static final int
DUPLICATE_ELEMENT
Duplicate credential element requested.
public static final int
NAME_NOT_MN
Name contains multi-mechanism elements.
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.
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.
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.
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.
private static String[]
messages
private int
major
The major code for this exception
private int
minor
The minor code for this exception
private String
minorMessage
The text string for minor code
private String
majorString
Alternate text string for major code
Constructors Summary
public GSSException(int majorCode)
Creates a GSSException object with a specified major code.

param
majorCode the The GSS error code for the problem causing this exception to be thrown.

 

                                     
        
        
        if (validateMajor(majorCode))
            major = majorCode;
        else
            major = FAILURE;
    
GSSException(int majorCode, String majorString)
Construct a GSSException object with a specified major code and a specific major string for it.

param
majorCode the fatal error code causing this exception.
param
majorString an expicit message to be included in this exception

        
        if (validateMajor(majorCode))
            major = majorCode;
        else
            major = FAILURE;
	this.majorString = majorString;
    
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 underlying mechanism level. It allows the setting of both the GSS code and the mechanism code.

param
majorCode the GSS error code for the problem causing this exception to be thrown.
param
minorCode the mechanism level error code for the problem causing this exception to be thrown.
param
minorString the textual explanation of the mechanism error code.

        
        if (validateMajor(majorCode))
            major = majorCode;
        else
            major = FAILURE;

        minor = minorCode;
        minorMessage = minorString;
    
Methods Summary
public intgetMajor()
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.

return
int the GSS-API level major error code causing this exception
see
#getMajorString
see
#getMinor
see
#getMinorString

        return major;
    
public java.lang.StringgetMajorString()
Returns a string explaining the GSS-API level major error code in this exception.

return
String explanation string for the major error code
see
#getMajor
see
#toString

    
	if (majorString != null)
	    return majorString;
	else
	    return messages[major - 1];
    
public java.lang.StringgetMessage()
Returns a textual representation of both the major and the minor status codes.

return
a String with the error descriptions

        if (minor == 0)
            return (getMajorString());
        
        return (getMajorString() 
		+ " (Mechanism level: " + getMinorString() + ")");
    
public intgetMinor()
Returns the mechanism level error code for the problem causing this exception to be thrown. The minor code is set by the underlying mechanism.

return
int the mechanism error code; 0 indicates that it has not been set.
see
#getMinorString
see
#setMinor

        return minor;
    
public java.lang.StringgetMinorString()
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.

return
String a textual explanation of mechanism error code
see
#getMinor
see
#getMajorString
see
#toString

            
        return minorMessage;
    
public voidsetMinor(int minorCode, java.lang.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.

param
minorCode the mechanism specific error code
param
message textual explanation of the mechanism error code
see
#getMinor

    
        minor = minorCode;
        minorMessage = message;
    
public java.lang.StringtoString()
Returns a textual representation of both the major and the minor status codes.

return
a String with the error descriptions

        return ("GSSException: " + getMessage());
    
private booleanvalidateMajor(int major)

    
        if (major > 0 && major <= messages.length)
            return (true);
            
        return (false);