This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


javax.security.auth.kerberos
class KerberosKey

java.lang.Object extended by javax.security.auth.kerberos.KerberosKey
All Implemented Interfaces:
SecretKey, Destroyable

public class KerberosKey
extends Object
implements SecretKey, Destroyable

This class encapsulates a long term secret key for a Kerberos principal.

All Kerberos JAAS login modules that obtain a principal's password and generate the secret key from it should use this class. Where available, the login module might even read this secret key directly from a Kerberos "keytab". Sometimes, such as when authenticating a server in the absence of user-to-user authentication, the login module will store an instance of this class in the private credential set of a {@link javax.security.auth.Subject Subject} during the commit phase of the authentication process.

It might be necessary for the application to be granted a {@link javax.security.auth.PrivateCredentialPermission PrivateCredentialPermission} if it needs to access the KerberosKey instance from a Subject. This permission is not needed when the application depends on the default JGSS Kerberos mechanism to access the KerberosKey. In that case, however, the application will need an appropriate {@link javax.security.auth.kerberos.ServicePermission ServicePermission}.


Constructor Summary
KerberosKey(KerberosPrincipal principal, byte[] keyBytes, int keyType, int versionNum)

          Constructs a KerberosKey from the given bytes when the key type and key version number are known.
KerberosKey(KerberosPrincipal principal, char[] password, String algorithm)

          Constructs a KerberosKey from a principal's password.
 
Method Summary
 void

          Destroys this key.
 boolean
equals(Object other)

          Compares the specified Object with this KerberosKey for equality.
 String

          Returns the standard algorithm name for this key.
 byte[]

          Returns the key material of this secret key.
 String

          Returns the name of the encoding format for this secret key.
 int

          Returns the key type for this long-term key.
 KerberosPrincipal

          Returns the principal that this key belongs to.
 int

          Returns the key version number.
 int

          Returns a hashcode for this KerberosKey.
 boolean

          Determines if this key has been destroyed.
 String

          Returns a string representation of the object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

KerberosKey

public KerberosKey(KerberosPrincipal principal,
                   byte[] keyBytes,
                   int keyType,
                   int versionNum)
Constructs a KerberosKey from the given bytes when the key type and key version number are known. This can be used when reading the secret key information from a Kerberos "keytab".

Parameters:
principal - the principal that this secret key belongs to
keyBytes - the raw bytes for the secret key
keyType - the key type for the secret key as defined by the Kerberos protocol specification.
versionNum - the version number of this secret key

KerberosKey

public KerberosKey(KerberosPrincipal principal,
                   char[] password,
                   String algorithm)
Constructs a KerberosKey from a principal's password.

Parameters:
principal - the principal that this password belongs to
password - the password that should be used to compute the key
algorithm - the name for the algorithm that this key will be used for. This parameter may be null in which case the default algorithm "DES" will be assumed.
Method Detail

destroy

public void destroy()
             throws DestroyFailedException
Destroys this key. A call to any of its other methods after this will cause an IllegalStateException to be thrown.

Throws:
DestroyFailedException - if some error occurs while destorying this key.

equals

public boolean equals(Object other)
Compares the specified Object with this KerberosKey for equality. Returns true if the given object is also a KerberosKey and the two KerberosKey instances are equivalent.

Overrides:
equals in class Object
Parameters:
other - the Object to compare to
Returns:
true if the specified object is equal to this KerberosKey, false otherwise. NOTE: Returns false if either of the KerberosKey objects has been destroyed.

getAlgorithm

public final String getAlgorithm()
Returns the standard algorithm name for this key. For example, "DES" would indicate that this key is a DES key. See Appendix A in the Java Cryptography Architecture API Specification & Reference for information about standard algorithm names.

Returns:
the name of the algorithm associated with this key.

getEncoded

public final byte[] getEncoded()
Returns the key material of this secret key.

Returns:
the key material

getFormat

public final String getFormat()
Returns the name of the encoding format for this secret key.

Returns:
the String "RAW"

getKeyType

public final int getKeyType()
Returns the key type for this long-term key.

Returns:
the key type.

getPrincipal

public final KerberosPrincipal getPrincipal()
Returns the principal that this key belongs to.

Returns:
the principal this key belongs to.

getVersionNumber

public final int getVersionNumber()
Returns the key version number.

Returns:
the key version number.

hashCode

public int hashCode()
Returns a hashcode for this KerberosKey.

Overrides:
hashCode in class Object
Returns:
a hashCode() for the KerberosKey

isDestroyed

public boolean isDestroyed()
Determines if this key has been destroyed.


toString

public String toString()
Overrides:
toString in class Object


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.