Interface SecretKey
-
- All Superinterfaces:
- Destroyable, Key, Serializable
- All Known Subinterfaces:
- PBEKey
- All Known Implementing Classes:
- 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
andhashCode
methods inherited fromObject
, so that secret keys are compared based on their underlying key material and not based on reference. Implementations should override the defaultdestroy
andisDestroyed
methods from theDestroyable
interface to enable sensitive key information to be destroyed, cleared, or in the case where such information is immutable, unreferenced. Finally, sinceSecretKey
isSerializable
, implementations should also overrideObjectOutputStream.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 (seegetFormat
), and return the raw key bytes as the result of agetEncoded
method call. (ThegetFormat
andgetEncoded
methods are inherited from theKey
parent interface.)- Since:
- 1.4
- 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
-
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.