All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class com.ibm.as400.access.ProfileTokenImplNative

java.lang.Object
   |
   +----com.ibm.as400.access.ProfileTokenImplNative

public class ProfileTokenImplNative
extends Object
implements ProfileTokenImpl
The ProfileTokenImplNative class provides an implementation for behavior delegated by a ProfileTokenCredential object.


Constructor Index

 o ProfileTokenImplNative()

Method Index

 o destroy()
Destroy or clear sensitive information maintained by the credential implementation.
 o exchangeSeed(byte[])
Exchange a random seed with the caller.
 o generateToken(String, byte[], int, int)
Generates and returns a new profile token based on the provided information.
 o getTimeToExpiration()
Returns the number of seconds before the credential is due to expire.
 o getVersion()
Returns the version number for the implementation.
 o isCurrent()
Indicates if the credential is still considered valid for authenticating to associated AS/400 services or performing related actions.
 o refresh()
Updates or extends the validity period for the credential.
 o refresh(int, int)
Updates or extends the validity period for the credential.
 o setCredential(AS400Credential)
Sets the credential delegating behavior to the implementation object.
 o swap(boolean)
Attempts to swap the OS/400 thread identity based on this credential.

Constructors

 o ProfileTokenImplNative
 public ProfileTokenImplNative()

Methods

 o destroy
 public void destroy() throws DestroyFailedException
Destroy or clear sensitive information maintained by the credential implementation.

Subsequent requests may result in a NullPointerException.

This class will also attempt to remove the associated profile token from the AS/400 system.

Throws: DestroyFailedException
If errors occur while destroying or clearing credential data.
 o exchangeSeed
 public byte[] exchangeSeed(byte seed[])
Exchange a random seed with the caller.

The exchanged seeds define the addr & mask for encoded values in subsequent requests.

Parameters:
seed - The caller seed.
Returns:
The generated seed.
 o generateToken
 public byte[] generateToken(String uid,
                             byte pwd[],
                             int type,
                             int timeoutInterval) throws RetrieveFailedException
Generates and returns a new profile token based on the provided information.

Parameters:
uid - The name of the user profile for which the token is to be generated.
pwd - The user profile password (encoded).
type - The type of token. Possible types are defined as fields on the ProfileTokenCredential class:
  • TYPE_SINGLE_USE
  • TYPE_MULTIPLE_USE_NON_RENEWABLE
  • TYPE_MULTIPLE_USE_RENEWABLE

timeoutInterval - The number of seconds to expiration.
Returns:
The token bytes.
Throws: RetrieveFailedException
If errors occur while generating the token.
 o getTimeToExpiration
 public int getTimeToExpiration() throws RetrieveFailedException
Returns the number of seconds before the credential is due to expire.

Returns:
The number of seconds before expiration; zero (0) if already expired.
Throws: RetrieveFailedException
If errors occur while retrieving timeout information.
 o getVersion
 public int getVersion()
Returns the version number for the implementation.

Used to ensure the implementation is valid for specific functions.

Returns:
The version number.
 o isCurrent
 public boolean isCurrent()
Indicates if the credential is still considered valid for authenticating to associated AS/400 services or performing related actions.

An exception is not thrown on failure to remain consistent with the Refreshable interface (even though some credential classes currently avoid the dependency established by implementing the interface).

Returns:
true if valid; false if not valid or if the operation fails.
 o refresh
 public void refresh() throws RefreshFailedException
Updates or extends the validity period for the credential.

Throws: RefreshFailedException
If errors occur during refresh.
 o refresh
 public byte[] refresh(int type,
                       int timeoutInterval) throws RefreshFailedException
Updates or extends the validity period for the credential.

Generates a new profile token based on the previously established token with the given type and timeoutInterval.

This method is provided to handle cases where it is desirable to allow for a more restrictive type of token or a different timeout interval when a new token is generated during the refresh.

Parameters:
type - The type of token. Possible types are defined as fields on the ProfileTokenCredential class:
  • TYPE_SINGLE_USE
  • TYPE_MULTIPLE_USE_NON_RENEWABLE
  • TYPE_MULTIPLE_USE_RENEWABLE

timeoutInterval - The number of seconds before expiration.
Returns:
The new token.
Throws: RefreshFailedException
If errors occur during refresh.
 o setCredential
 public void setCredential(AS400Credential credential)
Sets the credential delegating behavior to the implementation object.

Parameters:
credential - The associated credential.
 o swap
 public AS400Credential swap(boolean genRtnCr) throws SwapFailedException
Attempts to swap the OS/400 thread identity based on this credential.

Parameters:
genRtnCr - Indicates whether a return credential should be generated, even if supported. When appropriate, not generating a return credential can improve performance and avoid potential problems in creating the credential.
Returns:
A credential capable of swapping back to the original identity; classes not supporting this capability will return null. This value will also be null if genRtnCr is false.
Throws: SwapFailedException
If errors occur while swapping thread identity.
Throws: SecurityException
If the caller does not have permission to modify the OS thread identity.

All Packages  Class Hierarchy  This Package  Previous  Next  Index