## Uses of Interface
java.security.Key

Packages that use Key
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 | Provides the classes and interfaces for cryptographic operations.
javax.crypto.interfaces | Provides interfaces for Diffie-Hellman keys as defined in RSA Laboratories' PKCS #3.
javax.crypto.spec | Provides classes and interfaces for key specifications and algorithm parameter specifications.
javax.security.auth.kerberos | This package contains utility classes related to the Kerberos network authentication protocol.
javax.xml.crypto | Common classes for XML cryptography.
javax.xml.crypto.dsig.dom | DOM-specific classes for the `javax.xml.crypto.dsig` package.

### Uses of Key in java.security

Subinterfaces of Key in java.security
Modifier and Type | Interface and Description
--- | ---
`interface` | `PrivateKey` A private key.
`interface` | `PublicKey` A public key.

Methods in java.security that return Key
Modifier and Type | Method and Description
--- | ---
`abstract Key` | KeyStoreSpi.`engineGetKey(String alias, char[] password)` Returns the key associated with the given alias, using the given password to recover it.
`protected abstract Key` | KeyFactorySpi.`engineTranslateKey(Key key)` Translates a key object, whose provider may be unknown or potentially untrusted, into a corresponding key object of this key factory.
`Key` | KeyStore.`getKey(String alias, char[] password)` Returns the key associated with the given alias, using the given password to recover it.
`Key` | KeyFactory.`translateKey(Key key)` Translates a key object, whose provider may be unknown or potentially untrusted, into a corresponding key object of this key factory.

Methods in java.security with parameters of type Key
Modifier and Type | Method and Description
--- | ---
`protected abstract <T extends KeySpec> T` | KeyFactorySpi.`engineGetKeySpec(Key key, Class<T> keySpec)` Returns a specification (key material) of the given key object.
`abstract void` | KeyStoreSpi.`engineSetKeyEntry(String alias, Key key, char[] password, Certificate[] chain)` Assigns the given key to the given alias, protecting it with the given password.
`protected abstract Key` | KeyFactorySpi.`engineTranslateKey(Key key)` Translates a key object, whose provider may be unknown or potentially untrusted, into a corresponding key object of this key factory.
`<T extends KeySpec> T` | KeyFactory.`getKeySpec(Key key, Class<T> keySpec)` Returns a specification (key material) of the given key object.
`void` | KeyStore.`setKeyEntry(String alias, Key key, char[] password, Certificate[] chain)` Assigns the given key to the given alias, protecting it with the given password.
`Key` | KeyFactory.`translateKey(Key key)` Translates a key object, whose provider may be unknown or potentially untrusted, into a corresponding key object of this key factory.

### Uses of Key in java.security.interfaces

Subinterfaces of Key in java.security.interfaces
Modifier and Type | Interface and Description
--- | ---
`interface` | `DSAPrivateKey` The standard interface to a DSA private key.
`interface` | `DSAPublicKey` The interface to a DSA public key.
`interface` | `ECPrivateKey` The interface to an elliptic curve (EC) private key.
`interface` | `ECPublicKey` The interface to an elliptic curve (EC) public 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.
`interface` | `RSAPublicKey` The interface to an RSA public key.

### Uses of Key in javax.crypto

Subinterfaces of Key in javax.crypto
Modifier and Type | Interface and Description
--- | ---
`interface` | `SecretKey` A secret (symmetric) key.

Methods in javax.crypto that return Key
Modifier and Type | Method and Description
--- | ---
`Key` | KeyAgreement.`doPhase(Key key, boolean lastPhase)` Executes the next phase of this key agreement with the given key that was received from one of the other parties involved in this key agreement.
`protected abstract Key` | KeyAgreementSpi.`engineDoPhase(Key key, boolean lastPhase)` Executes the next phase of this key agreement with the given key that was received from one of the other parties involved in this key agreement.
`protected Key` | CipherSpi.`engineUnwrap(byte[] wrappedKey, String wrappedKeyAlgorithm, int wrappedKeyType)` Unwrap a previously wrapped key.
`Key` | Cipher.`unwrap(byte[] wrappedKey, String wrappedKeyAlgorithm, int wrappedKeyType)` Unwrap a previously wrapped key.

Methods in javax.crypto with parameters of type Key
Modifier and Type | Method and Description
--- | ---
`Key` | KeyAgreement.`doPhase(Key key, boolean lastPhase)` Executes the next phase of this key agreement with the given key that was received from one of the other parties involved in this key agreement.
`protected abstract Key` | KeyAgreementSpi.`engineDoPhase(Key key, boolean lastPhase)` Executes the next phase of this key agreement with the given key that was received from one of the other parties involved in this key agreement.
`protected int` | CipherSpi.`engineGetKeySize(Key key)` Returns the key size of the given key object in bits.
`protected abstract void` | CipherSpi.`engineInit(int opmode, Key key, AlgorithmParameterSpec params, SecureRandom random)` Initializes this cipher with a key, a set of algorithm parameters, and a source of randomness.
`protected abstract void` | CipherSpi.`engineInit(int opmode, Key key, AlgorithmParameters params, SecureRandom random)` Initializes this cipher with a key, a set of algorithm parameters, and a source of randomness.
`protected abstract void` | CipherSpi.`engineInit(int opmode, Key key, SecureRandom random)` Initializes this cipher with a key and a source of randomness.
`protected abstract void` | ExemptionMechanismSpi.`engineInit(Key key)` Initializes this exemption mechanism with a key.
`protected abstract void` | ExemptionMechanismSpi.`engineInit(Key key, AlgorithmParameters params)` Initializes this exemption mechanism with a key and a set of algorithm parameters.
`protected abstract void` | MacSpi.`engineInit(Key key, AlgorithmParameterSpec params)` Initializes the MAC with the given (secret) key and algorithm parameters.
`protected abstract void` | ExemptionMechanismSpi.`engineInit(Key key, AlgorithmParameterSpec params)` Initializes this exemption mechanism with a key and a set of algorithm parameters.
`protected abstract void` | KeyAgreementSpi.`engineInit(Key key, AlgorithmParameterSpec params, SecureRandom random)` Initializes this key agreement with the given key, set of algorithm parameters, and source of randomness.
`protected abstract void` | KeyAgreementSpi.`engineInit(Key key, SecureRandom random)` Initializes this key agreement with the given key and source of randomness.
`protected byte[]` | CipherSpi.`engineWrap(Key key)` Wrap a key.
`PKCS8EncodedKeySpec` | EncryptedPrivateKeyInfo.`getKeySpec(Key decryptKey)` Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it.
`PKCS8EncodedKeySpec` | EncryptedPrivateKeyInfo.`getKeySpec(Key decryptKey, Provider provider)` Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it.
`PKCS8EncodedKeySpec` | EncryptedPrivateKeyInfo.`getKeySpec(Key decryptKey, String providerName)` Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it.
`Object` | SealedObject.`getObject(Key key)` Retrieves the original (encapsulated) object.
`Object` | SealedObject.`getObject(Key key, String provider)` Retrieves the original (encapsulated) object.
`void` | Cipher.`init(int opmode, Key key)` Initializes this cipher with a key.
`void` | Cipher.`init(int opmode, Key key, AlgorithmParameters params)` Initializes this cipher with a key and a set of algorithm parameters.
`void` | Cipher.`init(int opmode, Key key, AlgorithmParameterSpec params)` Initializes this cipher with a key and a set of algorithm parameters.
`void` | Cipher.`init(int opmode, Key key, AlgorithmParameterSpec params, SecureRandom random)` Initializes this cipher with a key, a set of algorithm parameters, and a source of randomness.
`void` | Cipher.`init(int opmode, Key key, AlgorithmParameters params, SecureRandom random)` Initializes this cipher with a key, a set of algorithm parameters, and a source of randomness.
`void` | Cipher.`init(int opmode, Key key, SecureRandom random)` Initializes this cipher with a key and a source of randomness.
`void` | Mac.`init(Key key)` Initializes this `Mac` object with the given key.
`void` | KeyAgreement.`init(Key key)` Initializes this key agreement with the given key, which is required to contain all the algorithm parameters required for this key agreement.
`void` | ExemptionMechanism.`init(Key key)` Initializes this exemption mechanism with a key.
`void` | ExemptionMechanism.`init(Key key, AlgorithmParameters params)` Initializes this exemption mechanism with a key and a set of algorithm parameters.
`void` | Mac.`init(Key key, AlgorithmParameterSpec params)` Initializes this `Mac` object with the given key and algorithm parameters.
`void` | KeyAgreement.`init(Key key, AlgorithmParameterSpec params)` Initializes this key agreement with the given key and set of algorithm parameters.
`void` | ExemptionMechanism.`init(Key key, AlgorithmParameterSpec params)` Initializes this exemption mechanism with a key and a set of algorithm parameters.
`void` | KeyAgreement.`init(Key key, AlgorithmParameterSpec params, SecureRandom random)` Initializes this key agreement with the given key, set of algorithm parameters, and source of randomness.
`void` | KeyAgreement.`init(Key key, SecureRandom random)` Initializes this key agreement with the given key and source of randomness.
`boolean` | ExemptionMechanism.`isCryptoAllowed(Key key)` Returns whether the result blob has been generated successfully by this exemption mechanism.
`byte[]` | Cipher.`wrap(Key key)` Wrap a key.

### Uses of Key in javax.crypto.interfaces

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

### Uses of Key in javax.crypto.spec

Classes in javax.crypto.spec that implement Key
Modifier and Type | Class and Description
--- | ---
`class` | `SecretKeySpec` This class specifies a secret key in a provider-independent fashion.

### Uses of Key in javax.security.auth.kerberos

Classes in javax.security.auth.kerberos that implement Key
Modifier and Type | Class and Description
--- | ---
`class` | `KerberosKey` This class encapsulates a long term secret key for a Kerberos principal.

### Uses of Key in javax.xml.crypto

Methods in javax.xml.crypto that return Key
Modifier and Type | Method and Description
--- | ---
`Key` | KeySelectorResult.`getKey()` Returns the selected key.

Methods in javax.xml.crypto with parameters of type Key
Modifier and Type | Method and Description
--- | ---
`static KeySelector` | KeySelector.`singletonKeySelector(Key key)` Returns a `KeySelector` that always selects the specified key, regardless of the `KeyInfo` passed to it.

### Uses of Key in javax.xml.crypto.dsig.dom

Constructors in javax.xml.crypto.dsig.dom with parameters of type Key
Constructor and Description
`DOMSignContext(Key signingKey, Node parent)` Creates a `DOMSignContext` with the specified signing key and parent node.
`DOMSignContext(Key signingKey, Node parent, Node nextSibling)` Creates a `DOMSignContext` with the specified signing key, parent and next sibling nodes.
`DOMValidateContext(Key validatingKey, Node node)` Creates a `DOMValidateContext` containing the specified key and node.

Copyright © 1993, 2017, Oracle and/or its affiliates. All rights reserved.