PrivateKey

  • PrivateKey is an interface that serves as a common type for all private key interfaces in Java security.

  • It extends the Key and Destroyable interfaces, enabling key management and destruction for sensitive information.

  • Implementations of PrivateKey are expected to provide methods for destroying and checking the destruction status of the key material.

  • Specific cryptographic algorithms have their own private key interfaces, like RSAPrivateKey or DSAPrivateKey, which extend PrivateKey.

  • Developers should be aware of serialization implications and ensure that destroyed keys are not serialized to maintain security.

public interface PrivateKey implements Key Destroyable
Known Indirect Subclasses

A private key. The purpose of this interface is to group (and provide type safety for) all private key interfaces.

Note: The specialized private key interfaces extend this interface. See, for example, the DSAPrivateKey interface in java.security.interfaces.

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 PrivateKey is Serializable, implementations should also override ObjectOutputStream.writeObject(java.lang.Object) to prevent keys that have been destroyed from being serialized.

Constant Summary

long serialVersionUID The class fingerprint that is set to indicate serialization compatibility with a previous version of the class.

Inherited Constant Summary

Inherited Method Summary

Constants

public static final long serialVersionUID

The class fingerprint that is set to indicate serialization compatibility with a previous version of the class.

Constant Value: 6034044314589513430