- 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:
SecretKeyFactory
,Cipher
-
Field Summary
-
Method Summary
Methods declared in interface javax.security.auth.Destroyable
destroy, isDestroyed
Methods declared in interface java.security.Key
getAlgorithm, getEncoded, getFormat
-
Field Details
-
serialVersionUID
Deprecated.AserialVersionUID
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:
- Constant Field Values
-
serialVersionUID
field in an interface is ineffectual.