javax.security.auth.kerberos

Class KerberosKey

Implemented Interfaces:
Destroyable, Key, SecretKey, Serializable

public class KerberosKey
extends Object
implements Serializable, SecretKey, Destroyable

This class represents a Kerberos key. See the Kerberos authentication RFC for more information: RFC 1510.
Since:
1.4
See Also:
Serialized Form

Fields inherited from interface java.security.Key

serialVersionUID

Fields inherited from interface javax.crypto.SecretKey

serialVersionUID

Constructor Summary

KerberosKey(KerberosPrincipal principal, byte[] key, int type, int version)
Construct a new key with the indicated principal and key.
KerberosKey(KerberosPrincipal principal, char[] passwd, String algo)
Construct a new key with the indicated principal and a password.

Method Summary

void
destroy()
Destroy this key.
String
getAlgorithm()
Return the name of the algorithm used to create this key.
byte[]
getEncoded()
Return the encoded form of this key.
String
getFormat()
Return the format of this key.
int
getKeyType()
Return the type of this key.
KerberosPrincipal
getPrincipal()
Return the principal associated with this key.
int
getVersionNumber()
Return the version number of this key.
boolean
isDestroyed()
Return true if this key has been destroyed.
String
toString()
Convert this Object to a human-readable String.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

KerberosKey

public KerberosKey(KerberosPrincipal principal,
                   byte[] key,
                   int type,
                   int version)
Construct a new key with the indicated principal and key.
Parameters:
principal - the principal
key - the key's data
type - the key's type
version - the key's version number

KerberosKey

public KerberosKey(KerberosPrincipal principal,
                   char[] passwd,
                   String algo)
            throws NotImplementedException
Construct a new key with the indicated principal and a password.
Parameters:
principal - the principal
passwd - the password to use
algo - the algorithm; if null the "DES" algorithm is used

Method Details

destroy

public void destroy()
            throws DestroyFailedException
Destroy this key.
Specified by:
destroy in interface Destroyable

getAlgorithm

public final String getAlgorithm()
Return the name of the algorithm used to create this key.
Specified by:
getAlgorithm in interface Key

getEncoded

public final byte[] getEncoded()
Return the encoded form of this key.
Specified by:
getEncoded in interface Key

getFormat

public final String getFormat()
Return the format of this key. This implementation always returns "RAW".
Specified by:
getFormat in interface Key

getKeyType

public final int getKeyType()
Return the type of this key.

getPrincipal

public final KerberosPrincipal getPrincipal()
Return the principal associated with this key.

getVersionNumber

public final int getVersionNumber()
Return the version number of this key.

isDestroyed

public boolean isDestroyed()
Return true if this key has been destroyed. After this has been called, other methods on this object will throw IllegalStateException.
Specified by:
isDestroyed in interface Destroyable

toString

public String toString()
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() and such.

It is typical, but not required, to ensure that this method never completes abruptly with a RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).

Overrides:
toString in interface Object
Returns:
the String representing this Object, which may be null

KerberosKey.java -- kerberos key Copyright (C) 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.