Package org.bouncycastle.jcajce.provider.symmetric.util

## Class BaseSecretKeyFactory

- java.lang.Object
- - javax.crypto.SecretKeyFactorySpi
  - - org.bouncycastle.jcajce.provider.symmetric.util.BaseSecretKeyFactory

- All Implemented Interfaces:
    `PBE`
  Direct Known Subclasses:
    `AES.KeyFactory`, `ARIA.KeyFactory`, `Camellia.KeyFactory`, `DES.DESPBEKeyFactory`, `DES.KeyFactory`, `DESede.KeyFactory`, `OpenSSLPBKDF.PBKDF`, `PBEPBKDF2.BasePBKDF2`, `PBESecretKeyFactory`, `SCRYPT.BasePBKDF2`, `SEED.KeyFactory`, `TLSKDF.TLSKeyMaterialFactory`

      public class BaseSecretKeyFactory
      extends javax.crypto.SecretKeyFactorySpi
      implements PBE

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.bouncycastle.jcajce.provider.symmetric.util.PBE

      `PBE.Util`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected java.lang.String` | `algName` |
    `protected ASN1ObjectIdentifier` | `algOid` |

    - ### Fields inherited from interface org.bouncycastle.jcajce.provider.symmetric.util.PBE

      `GOST3411, MD2, MD5, OPENSSL, PKCS12, PKCS5S1, PKCS5S1_UTF8, PKCS5S2, PKCS5S2_UTF8, RIPEMD160, SHA1, SHA224, SHA256, SHA3_224, SHA3_256, SHA3_384, SHA3_512, SHA384, SHA512, SM3, TIGER`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `BaseSecretKeyFactory​(java.lang.String algName, ASN1ObjectIdentifier algOid)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected javax.crypto.SecretKey` | `engineGenerateSecret​(java.security.spec.KeySpec keySpec)` |
    `protected java.security.spec.KeySpec` | `engineGetKeySpec​(javax.crypto.SecretKey key, java.lang.Class keySpec)` |
    `protected javax.crypto.SecretKey` | `engineTranslateKey​(javax.crypto.SecretKey key)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### algName

          protected java.lang.String algName

    - #### algOid

          protected ASN1ObjectIdentifier algOid

  - ### Constructor Detail

    - #### BaseSecretKeyFactory

          protected BaseSecretKeyFactory​(java.lang.String algName,
                                         ASN1ObjectIdentifier algOid)

  - ### Method Detail

    - #### engineGenerateSecret

          protected javax.crypto.SecretKey engineGenerateSecret​(java.security.spec.KeySpec keySpec)
                                                         throws java.security.spec.InvalidKeySpecException

      Specified by:
        `engineGenerateSecret` in class `javax.crypto.SecretKeyFactorySpi`
      Throws:
        `java.security.spec.InvalidKeySpecException`

    - #### engineGetKeySpec

          protected java.security.spec.KeySpec engineGetKeySpec​(javax.crypto.SecretKey key,
                                                                java.lang.Class keySpec)
                                                         throws java.security.spec.InvalidKeySpecException

      Specified by:
        `engineGetKeySpec` in class `javax.crypto.SecretKeyFactorySpi`
      Throws:
        `java.security.spec.InvalidKeySpecException`

    - #### engineTranslateKey

          protected javax.crypto.SecretKey engineTranslateKey​(javax.crypto.SecretKey key)
                                                       throws java.security.InvalidKeyException

      Specified by:
        `engineTranslateKey` in class `javax.crypto.SecretKeyFactorySpi`
      Throws:
        `java.security.InvalidKeyException`