TopBlend:
Here is the
first difference.
There are 4 differences.
is old.
is new.
javax.security.auth.kerberos
Class KerberosKey
java.lang.Object
javax.security.auth.kerberos.KerberosKey
-
All Implemented Interfaces:
-
Serializable
,
Key
,
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
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
.
-
Since:
-
1.4
-
See Also:
-
Serialized Form
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 |
destroy
()
Destroys this key. |
boolean
|
equals
(
Object
Compares the specified Object with this KerberosKey for equality.
|
String
|
getAlgorithm
()
Returns the standard algorithm name for this key. |
byte[] |
getEncoded
()
Returns the key material of this secret key. |
String
|
getFormat
()
Returns the name of the encoding format for this secret key. |
int |
getKeyType
()
Returns the key type for this long-term key. |
KerberosPrincipal
|
getPrincipal
()
Returns the principal that this key belongs to. |
int |
getVersionNumber
()
Returns the key version number. |
int
|
hashCode
()
Returns a hashcode for this KerberosKey.
|
boolean |
isDestroyed
()
Determines if this key has been destroyed. |
String
|
toString
()
Returns a string representation of the object. |
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.
-
Throws:
-
IllegalArgumentException
- if the name of the algorithm passed is unsupported.
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.
getKeyType
public final int getKeyType()
-
Returns the key type for this long-term key.
-
-
-
Returns:
-
the key type.
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.
-
-
Specified by:
-
getAlgorithm
in interface
Key
-
-
Returns:
-
the name of the algorithm associated with this key.
getFormat
public final String getFormat()
-
Returns the name of the encoding format for this secret key.
-
-
Specified by:
-
getFormat
in interface
Key
-
-
Returns:
-
the String "RAW"
getEncoded
public final byte[] getEncoded()
-
Returns the key material of this secret key.
-
-
Specified by:
-
getEncoded
in interface
Key
-
-
Returns:
-
the key material
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.
-
-
Specified by:
-
destroy
in interface
Destroyable
-
-
Throws:
-
DestroyFailedException
- if some error occurs while destorying this key.
isDestroyed
public boolean isDestroyed()
-
Determines if this key has been destroyed.
-
-
Specified by:
-
isDestroyed
in interface
Destroyable
-
-
Returns:
-
true if this Object has been destroyed, false otherwise.
toString
public String toString()
-
Description copied from class:
Object
-
Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.
The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
-
-
Overrides:
-
toString
in class
Object
-
-
Returns:
-
a string representation of the object.
hashCode
public int
hashCode
()
-
Returns a hashcode for this KerberosKey.
-
-
Overrides:
-
hashCode
in class
Object
-
-
Returns:
-
a hashCode() for the KerberosKey
-
Since:
-
1.6
-
See Also:
-
Object.equals(java.lang.Object)
,
Hashtable
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.
-
Since:
-
1.6
-
See Also:
-
Object.hashCode()
,
Hashtable