Uses of Interface javax.crypto.SecretKey (Java Platform SE 8 )
Date: 2026-04-17

## Uses of Interface
javax.crypto.SecretKey

- Packages that use SecretKey
  Package | Description
  --- | ---
  java.security | Provides the classes and interfaces for the security framework.
  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.

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

    Methods in java.security that return SecretKey
    Modifier and Type | Method and Description
    --- | ---
    `SecretKey` | KeyStore.SecretKeyEntry.`getSecretKey()` Gets the `SecretKey` from this entry.

    Constructors in java.security with parameters of type SecretKey
    Constructor and Description
    `SecretKeyEntry(SecretKey secretKey)` Constructs a `SecretKeyEntry` with a `SecretKey`.
    `SecretKeyEntry(SecretKey secretKey, Set<KeyStore.Entry.Attribute> attributes)` Constructs a `SecretKeyEntry` with a `SecretKey` and associated entry attributes.

  - ### Uses of SecretKey in javax.crypto

    Methods in javax.crypto that return SecretKey
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract SecretKey` | KeyGeneratorSpi.`engineGenerateKey()` Generates a secret key.
    `protected abstract SecretKey` | SecretKeyFactorySpi.`engineGenerateSecret(KeySpec keySpec)` Generates a `SecretKey` object from the provided key specification (key material).
    `protected abstract SecretKey` | KeyAgreementSpi.`engineGenerateSecret(String algorithm)` Creates the shared secret and returns it as a secret key object of the requested algorithm type.
    `protected abstract SecretKey` | SecretKeyFactorySpi.`engineTranslateKey(SecretKey key)` Translates a key object, whose provider may be unknown or potentially untrusted, into a corresponding key object of this secret-key factory.
    `SecretKey` | KeyGenerator.`generateKey()` Generates a secret key.
    `SecretKey` | SecretKeyFactory.`generateSecret(KeySpec keySpec)` Generates a `SecretKey` object from the provided key specification (key material).
    `SecretKey` | KeyAgreement.`generateSecret(String algorithm)` Creates the shared secret and returns it as a `SecretKey` object of the specified algorithm.
    `SecretKey` | SecretKeyFactory.`translateKey(SecretKey key)` Translates a key object, whose provider may be unknown or potentially untrusted, into a corresponding key object of this secret-key factory.

    Methods in javax.crypto with parameters of type SecretKey
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract KeySpec` | SecretKeyFactorySpi.`engineGetKeySpec(SecretKey key, Class<?> keySpec)` Returns a specification (key material) of the given key object in the requested format.
    `protected abstract SecretKey` | SecretKeyFactorySpi.`engineTranslateKey(SecretKey key)` Translates a key object, whose provider may be unknown or potentially untrusted, into a corresponding key object of this secret-key factory.
    `KeySpec` | SecretKeyFactory.`getKeySpec(SecretKey key, Class<?> keySpec)` Returns a specification (key material) of the given key object in the requested format.
    `SecretKey` | SecretKeyFactory.`translateKey(SecretKey key)` Translates a key object, whose provider may be unknown or potentially untrusted, into a corresponding key object of this secret-key factory.

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

    Subinterfaces of SecretKey in javax.crypto.interfaces
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `PBEKey` The interface to a PBE key.

  - ### Uses of SecretKey in javax.crypto.spec

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

  - ### Uses of SecretKey in javax.security.auth.kerberos

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

    Methods in javax.security.auth.kerberos that return SecretKey
    Modifier and Type | Method and Description
    --- | ---
    `SecretKey` | KerberosTicket.`getSessionKey()` Returns the session key associated with this ticket.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.