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