Interface SecretKey

All Superinterfaces:
Destroyable, Key, Serializable
All Known Subinterfaces:
PBEKey
All Known Implementing Classes:
EncryptionKey, KerberosKey, SecretKeySpec

public interface SecretKey extends Key, Destroyable
A secret (symmetric) key. The purpose of this interface is to group (and provide type safety for) all secret key interfaces.

Provider implementations of this interface must overwrite the equals and hashCode methods inherited from Object, so that secret keys are compared based on their underlying key material and not based on reference. Implementations should override the default destroy and isDestroyed methods from the Destroyable interface to enable sensitive key information to be destroyed, cleared, or in the case where such information is immutable, unreferenced. Finally, since SecretKey is Serializable, implementations should also override ObjectOutputStream.writeObject(java.lang.Object) to prevent keys that have been destroyed from being serialized.

Keys that implement this interface return the string RAW as their encoding format (see getFormat), and return the raw key bytes as the result of a getEncoded method call. (The getFormat and getEncoded methods are inherited from the Key parent interface.)

Since:
1.4
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final long
    Deprecated.
    A serialVersionUID field in an interface is ineffectual.
  • Method Summary

    Methods declared in interface Destroyable

    destroy, isDestroyed
    Modifier and Type
    Method
    Description
    default void
    Destroy this Object.
    default boolean
    Determine if this Object has been destroyed.

    Methods declared in interface Key

    getAlgorithm, getEncoded, getFormat
    Modifier and Type
    Method
    Description
    Returns the standard algorithm name for this key.
    byte[]
    Returns the key in its primary encoding format, or null if this key does not support encoding.
    Returns the name of the primary encoding format of this key, or null if this key does not support encoding.
  • Field Details

    • serialVersionUID

      @Deprecated static final long serialVersionUID
      Deprecated.
      A serialVersionUID field in an interface is ineffectual. Do not use; no replacement.
      The class fingerprint that is set to indicate serialization compatibility since J2SE 1.4.
      See Also: