javax.security.auth.kerberos
Class KerberosKey
- java.lang.Object
javax.security.auth.kerberos.KerberosKey
- public class KerberosKey
- extends java.lang.Object
- implements javax.crypto.SecretKey, javax.security.auth.Destroyable
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 Subject during the commit phase of the
authentication process.
It might be necessary for the application to be granted a 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 ServicePermission.
Constructor Summary
| Constructor and Description |
|---|
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,java.lang.String algorithm)
Constructs a KerberosKey from a principal's password.
|
Method Summary
| Modifier and Type | Method and Description |
|---|---|
|
destroy()
Destroys this key.
|
|
equals(java.lang.Object other)
Compares the specified Object with this KerberosKey for equality.
|
|
getAlgorithm()
Returns the standard algorithm name for this key.
|
|
getEncoded()
Returns the key material of this secret key.
|
|
getFormat()
Returns the name of the encoding format for this secret key.
|
|
getKeyType()
Returns the key type for this long-term key.
|
getPrincipal()
Returns the principal that this key belongs to.
|
|
|
getVersionNumber()
Returns the key version number.
|
|
hashCode()
Returns a hashcode for this KerberosKey.
|
|
isDestroyed()
Determines if this key has been destroyed.
|
|
toString()
DOCUMENT ME!
|
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail
KerberosKey
- public KerberosKey(KerberosPrincipal principal,
- byte[] keyBytes,
- int keyType,
- int versionNum)
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,
- java.lang.String algorithm)
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 wil be used
for. This parameter may be null in which case "DES" will be
assumed. Method Detail
getPrincipal
- public final KerberosPrincipal getPrincipal( )
getVersionNumber
- public final int getVersionNumber( )
getKeyType
- public final int getKeyType()
getAlgorithm
- public final java.lang.String getAlgorithm( )
getAlgorithm in interface java.security.Key
getFormat
- public final java.lang.String getFormat( )
getFormat in interface java.security.Key
getEncoded
- public final byte[] getEncoded( )
getEncoded in interface java.security.Key
destroy
- public void destroy()
- throws javax.security.auth.DestroyFailedException
destroy in interface javax.security.auth.Destroyable
javax.security.auth.DestroyFailedException - if some error occurs while destorying
this key. isDestroyed
- public boolean isDestroyed()
isDestroyed in interface javax.security.auth.Destroyable
toString
- public java.lang.String toString( )
toString in class java.lang.Object
hashCode
- public int hashCode()
hashCode in class java.lang.Object
KerberosKey equals
- public boolean equals(java.lang.Object other)
KerberosKey and the two
KerberosKey instances are equivalent.
equals in class java.lang.Object
other - the Object to compare to