PrivateKey
Stay organized with collections
Save and categorize content based on your preferences.
Known Indirect Subclasses
DHPrivateKey |
The interface to a Diffie-Hellman private key. |
DSAPrivateKey |
The standard interface to a DSA private key. |
ECPrivateKey |
The interface to an elliptic curve (EC) private key. |
RSAMultiPrimePrivateCrtKey |
The interface to an RSA multi-prime private key, as defined in the
PKCS#1 v2.1, using the Chinese Remainder Theorem
(CRT) information values. |
RSAPrivateCrtKey |
The interface to an RSA private key, as defined in the PKCS#1 standard,
using the Chinese Remainder Theorem (CRT) information values. |
RSAPrivateKey |
The interface to an RSA private key. |
|
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
From interface
java.security.Key
long |
serialVersionUID |
The class fingerprint that is set to indicate
serialization compatibility with a previous
version of the class. |
Inherited Method Summary
From interface
java.security.Key
abstract
String
|
getAlgorithm()
Returns the standard algorithm name for this key.
|
abstract
byte[]
|
getEncoded()
Returns the key in its primary encoding format, or null
if this key does not support encoding.
|
abstract
String
|
getFormat()
Returns the name of the primary encoding format of this key,
or null if this key does not support encoding.
|
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
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-07-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-07-10 UTC."],[[["`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."]]],["The `PrivateKey` interface groups all private key interfaces, providing type safety. It extends `Key` and `Destroyable`, requiring implementations to override `destroy` and `isDestroyed` for handling sensitive key data. Key actions include getting the algorithm, encoding, and format. `PrivateKey` implementations should also override `writeObject` to prevent the serialization of destroyed keys. Key subclasses include `DHPrivateKey`, `DSAPrivateKey`, `ECPrivateKey`, `RSAMultiPrimePrivateCrtKey`, `RSAPrivateCrtKey`, and `RSAPrivateKey`.\n"]]