# Interface ExtendedGSSCredential

All Superinterfaces:
  `Cloneable, GSSCredential`

public interface ExtendedGSSCredential extends GSSCredential
The extended GSSCredential interface for supporting additional functionalities not defined by `org.ietf.jgss.GSSCredential`.

Since:
  1.8

## Field Summary

### Fields declared in interface GSSCredential

`ACCEPT_ONLY, DEFAULT_LIFETIME, INDEFINITE_LIFETIME, INITIATE_AND_ACCEPT, INITIATE_ONLY`
Modifier and Type
Field
Description
`static final int`
`ACCEPT_ONLY`
Credential usage flag requesting that it be usable for context acceptance only.
`static final int`
`DEFAULT_LIFETIME`
A lifetime constant representing the default credential lifetime.
`static final int`
`INDEFINITE_LIFETIME`
A lifetime constant representing indefinite credential lifetime.
`static final int`
`INITIATE_AND_ACCEPT`
Credential usage flag requesting that it be usable for both context initiation and acceptance.
`static final int`
`INITIATE_ONLY`
Credential usage flag requesting that it be usable for context initiation only.

## Method Summary

Modifier and Type
Method
Description
`GSSCredential`
`impersonate(GSSName name)`
Impersonates a principal.

### Methods declared in interface GSSCredential

`add, dispose, equals, getMechs, getName, getName, getRemainingAcceptLifetime, getRemainingInitLifetime, getRemainingLifetime, getUsage, getUsage, hashCode`
Modifier and Type
Method
Description
`void`
`add(GSSName name, int initLifetime, int acceptLifetime, Oid mech, int usage)`
Adds a mechanism specific credential-element to an existing credential.
`void`
`dispose()`
Releases any sensitive information that the GSSCredential object may be containing.
`boolean`
`equals(Object another)`
Tests if this GSSCredential asserts the same entity as the supplied object.
`Oid[]`
`getMechs()`
Returns a list of mechanisms supported by this credential.
`GSSName`
`getName()`
Retrieves the name of the entity that the credential asserts.
`GSSName`
`getName(Oid mech)`
Retrieves a Mechanism Name of the entity that the credential asserts.
`int`
`getRemainingAcceptLifetime(Oid mech)`
Returns the lifetime in seconds for the credential to remain capable of accepting security contexts using the specified mechanism.
`int`
`getRemainingInitLifetime(Oid mech)`
Returns the lifetime in seconds for the credential to remain capable of initiating security contexts using the specified mechanism.
`int`
`getRemainingLifetime()`
Returns the remaining lifetime in seconds for a credential.
`int`
`getUsage()`
Returns the credential usage mode.
`int`
`getUsage(Oid mech)`
Returns the credential usage mode for a specific mechanism.
`int`
`hashCode()`
Returns a hashcode value for this GSSCredential.

## Method Details

### impersonate

GSSCredential impersonate(GSSName name) throws GSSException
Impersonates a principal. In Kerberos, this can be implemented using the Microsoft S4U2self extension.

A `GSSException.NO_CRED` will be thrown if the impersonation fails. A `GSSException.FAILURE` will be thrown if the impersonation method is not available to this credential object.

Parameters:
  `name` - the name of the principal to impersonate
Returns:
  a credential for that principal
Throws:
  `GSSException` - containing the following major error codes: `GSSException.NO_CRED` `GSSException.FAILURE`