javax.crypto

Interface SecretKey

  • All Superinterfaces:
    javax.security.auth.Destroyable, java.security.Key, java.io.Serializable
    All Known Subinterfaces:
    PBEKey
    All Known Implementing Classes:
    SecretKeySpec


    public interface SecretKey
    extends java.security.Key, javax.security.auth.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
    Version:
    1.20, 01/14/04
    Author:
    Jan Luehe
    See Also:
    SecretKeyFactory, Cipher
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static long serialVersionUID
      The class fingerprint that is set to indicate serialization compatibility since J2SE 1.4.
    • Method Summary

      • Methods inherited from interface java.security.Key

        getAlgorithm, getEncoded, getFormat
      • Methods inherited from interface javax.security.auth.Destroyable

        destroy, isDestroyed
    • Field Detail

      • serialVersionUID

        static final long serialVersionUID
        The class fingerprint that is set to indicate serialization compatibility since J2SE 1.4.
        See Also:
        Constant Field Values

© Portions Copyright 2003, 2023 IBM Corporation. All rights reserved.
© Portions Copyright 2003, 2023 Oracle and/or its affiliates. All rights reserved.