javax.security.auth.kerberos

Class 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. 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.

    A Kerberos service using a keytab to read secret keys should use the KeyTab class, where latest keys can be read when needed.

    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 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.
        Throws:
        IllegalArgumentException - if the name of the algorithm passed is unsupported.
    • Method Detail

      • 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.
      • 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
      • 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.
      • 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(), HashMap

Traduction non disponible

Les API Java ne sont pas encore traduites en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.

Document créé le 07/12/2006, dernière modification le 04/03/2020
Source du document imprimé : https://www.gaudry.be/java-api-rf-javax/security/auth/kerberos/kerberoskey.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : https://docs.oracle.com, KerberosKey

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut