Interface SecretKey
- All Superinterfaces:
Destroyable, Key, Serializable
- All Known Subinterfaces:
PBEKey
- All Known Implementing Classes:
EncryptionKey, KerberosKey, SecretKeySpec
public interface SecretKey extends Key, Destroyable
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
| Modifier and Type | Field | Description |
|---|---|---|
static final long |
serialVersionUID |
Deprecated. |
Method Summary
Methods declared in interface Destroyable
destroy, isDestroyed | Modifier and Type | Method | Description |
|---|---|---|
default void |
destroy() |
Destroy this Object. |
default boolean |
isDestroyed() |
Determine if this Object has been destroyed. |
Methods declared in interface Key
getAlgorithm, getEncoded, getFormat | Modifier and Type | Method | Description |
|---|---|---|
String |
getAlgorithm() |
Returns the standard algorithm name for this key. |
byte[] |
getEncoded() |
Returns the key in its primary encoding format, or null if this key does not support encoding. |
String |
getFormat() |
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
serialVersionUID field in an interface is ineffectual. Do not use; no replacement.- See Also:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
serialVersionUIDfield in an interface is ineffectual.