Uses of Interface java.security.PrivateKey (Java SE 10 & JDK 10 )

## Uses of Interface
java.security.PrivateKey

- Packages that use PrivateKey
  Package | Description
  --- | ---
  java.security | Provides the classes and interfaces for the security framework.
  java.security.interfaces | Provides interfaces for generating RSA (Rivest, Shamir and Adleman AsymmetricCipher algorithm) keys as defined in the RSA Laboratory Technical Note PKCS#1, and DSA (Digital Signature Algorithm) keys as defined in NIST's FIPS-186.
  javax.crypto.interfaces | Provides interfaces for Diffie-Hellman keys as defined in RSA Laboratories' PKCS #3.
  javax.net.ssl | Provides classes for the secure socket package.
  javax.security.auth.x500 | This package contains the classes that should be used to store X500 Principal and X500 Private Credentials in a Subject.
  jdk.security.jarsigner | This package defines APIs for signing jar files.

- - ### Uses of PrivateKey in java.security

    Methods in java.security that return PrivateKey
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected abstract PrivateKey` | KeyFactorySpi.`engineGeneratePrivate​(KeySpec keySpec)` | Generates a private key object from the provided key specification (key material).
    `PrivateKey` | KeyFactory.`generatePrivate​(KeySpec keySpec)` | Generates a private key object from the provided key specification (key material).
    `PrivateKey` | KeyPair.`getPrivate()` | Returns a reference to the private key component of this key pair.
    `PrivateKey` | KeyStore.PrivateKeyEntry.`getPrivateKey()` | Gets the `PrivateKey` from this entry.
    `PrivateKey` | Signer.`getPrivateKey()` | Deprecated, for removal: This API element is subject to removal in a future version. Returns this signer's private key.

    Methods in java.security with parameters of type PrivateKey
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected abstract void` | SignatureSpi.`engineInitSign​(PrivateKey privateKey)` | Initializes this signature object with the specified private key for signing operations.
    `protected void` | SignatureSpi.`engineInitSign​(PrivateKey privateKey, SecureRandom random)` | Initializes this signature object with the specified private key and source of randomness for signing operations.
    `void` | Signature.`initSign​(PrivateKey privateKey)` | Initialize this object for signing.
    `void` | Signature.`initSign​(PrivateKey privateKey, SecureRandom random)` | Initialize this object for signing.

    Constructors in java.security with parameters of type PrivateKey
    Constructor | Description
    --- | ---
    `KeyPair​(PublicKey publicKey, PrivateKey privateKey)` | Constructs a key pair from the given public key and private key.
    `PrivateKeyEntry​(PrivateKey privateKey, Certificate[] chain)` | Constructs a `PrivateKeyEntry` with a `PrivateKey` and corresponding certificate chain.
    `PrivateKeyEntry​(PrivateKey privateKey, Certificate[] chain, Set<KeyStore.Entry.Attribute> attributes)` | Constructs a `PrivateKeyEntry` with a `PrivateKey` and corresponding certificate chain and associated entry attributes.
    `SignedObject​(Serializable object, PrivateKey signingKey, Signature signingEngine)` | Constructs a SignedObject from any Serializable object.

  - ### Uses of PrivateKey in java.security.interfaces

    Subinterfaces of PrivateKey in java.security.interfaces
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `DSAPrivateKey` | The standard interface to a DSA private key.
    `interface` | `ECPrivateKey` | The interface to an elliptic curve (EC) private key.
    `interface` | `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.
    `interface` | `RSAPrivateCrtKey` | The interface to an RSA private key, as defined in the PKCS#1 standard, using the Chinese Remainder Theorem (CRT) information values.
    `interface` | `RSAPrivateKey` | The interface to an RSA private key.

  - ### Uses of PrivateKey in javax.crypto.interfaces

    Subinterfaces of PrivateKey in javax.crypto.interfaces
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `DHPrivateKey` | The interface to a Diffie-Hellman private key.

  - ### Uses of PrivateKey in javax.net.ssl

    Methods in javax.net.ssl that return PrivateKey
    Modifier and Type | Method | Description
    --- | --- | ---
    `PrivateKey` | X509KeyManager.`getPrivateKey​(String alias)` | Returns the key associated with the given alias.

  - ### Uses of PrivateKey in javax.security.auth.x500

    Methods in javax.security.auth.x500 that return PrivateKey
    Modifier and Type | Method | Description
    --- | --- | ---
    `PrivateKey` | X500PrivateCredential.`getPrivateKey()` | Returns the PrivateKey.

    Constructors in javax.security.auth.x500 with parameters of type PrivateKey
    Constructor | Description
    --- | ---
    `X500PrivateCredential​(X509Certificate cert, PrivateKey key)` | Creates an X500PrivateCredential that associates an X.509 certificate, a private key and the KeyStore alias.
    `X500PrivateCredential​(X509Certificate cert, PrivateKey key, String alias)` | Creates an X500PrivateCredential that associates an X.509 certificate, a private key and the KeyStore alias.

  - ### Uses of PrivateKey in jdk.security.jarsigner

    Methods in jdk.security.jarsigner with parameters of type PrivateKey
    Modifier and Type | Method | Description
    --- | --- | ---
    `static String` | JarSigner.Builder.`getDefaultSignatureAlgorithm​(PrivateKey key)` | Gets the default signature algorithm for a private key.

    Constructors in jdk.security.jarsigner with parameters of type PrivateKey
    Constructor | Description
    --- | ---
    `Builder​(PrivateKey privateKey, CertPath certPath)` | Creates a `JarSigner.Builder` object with a private key and a certification path.