org.bouncycastle.jce.provider

## Class JDKKeyStore

- java.lang.Object
- - java.security.KeyStoreSpi
  - - org.bouncycastle.jce.provider.JDKKeyStore

All Implemented Interfaces:
  BCKeyStore

Direct Known Subclasses:
  JDKKeyStore.BouncyCastleStore

    public class JDKKeyStore
    extends java.security.KeyStoreSpi
    implements BCKeyStore

### Nested Class Summary

Nested Classes
`static class` `JDKKeyStore.BouncyCastleStore` the BouncyCastle store.

### Field Summary

Fields
`protected java.security.SecureRandom` `random`
`protected java.util.Hashtable` `table`

### Constructor Summary

Constructors
Constructor and Description
`JDKKeyStore()`

### Method Summary

Methods
`java.util.Enumeration` `engineAliases()`
`boolean` `engineContainsAlias(java.lang.String alias)`
`void` `engineDeleteEntry(java.lang.String alias)`
`java.security.cert.Certificate` `engineGetCertificate(java.lang.String alias)`
`java.lang.String` `engineGetCertificateAlias(java.security.cert.Certificate cert)`
`java.security.cert.Certificate[]` `engineGetCertificateChain(java.lang.String alias)`
`java.util.Date` `engineGetCreationDate(java.lang.String alias)`
`java.security.Key` `engineGetKey(java.lang.String alias, char[] password)`
`boolean` `engineIsCertificateEntry(java.lang.String alias)`
`boolean` `engineIsKeyEntry(java.lang.String alias)`
`void` `engineLoad(java.io.InputStream stream, char[] password)`
`void` `engineSetCertificateEntry(java.lang.String alias, java.security.cert.Certificate cert)`
`void` `engineSetKeyEntry(java.lang.String alias, byte[] key, java.security.cert.Certificate[] chain)`
`void` `engineSetKeyEntry(java.lang.String alias, java.security.Key key, char[] password, java.security.cert.Certificate[] chain)`
`int` `engineSize()`
`void` `engineStore(java.io.OutputStream stream, char[] password)`
`protected void` `loadStore(java.io.InputStream in)`
`protected javax.crypto.Cipher` `makePBECipher(java.lang.String algorithm, int mode, char[] password, byte[] salt, int iterationCount)`
`protected void` `saveStore(java.io.OutputStream out)`
`void` `setRandom(java.security.SecureRandom rand)` set the random source for the key store

### Methods inherited from class java.security.KeyStoreSpi

`engineEntryInstanceOf, engineGetEntry, engineLoad, engineSetEntry, engineStore`

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

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

### Field Detail

#### table

    protected java.util.Hashtable table

#### random

    protected java.security.SecureRandom random

### Constructor Detail

#### JDKKeyStore

    public JDKKeyStore()

### Method Detail

#### makePBECipher

    protected javax.crypto.Cipher makePBECipher(java.lang.String algorithm,
                                    int mode,
                                    char[] password,
                                    byte[] salt,
                                    int iterationCount)
                                         throws java.io.IOException

Throws:
  `java.io.IOException`

#### setRandom

    public void setRandom(java.security.SecureRandom rand)

Description copied from interface: `BCKeyStore`
set the random source for the key store

Specified by:
  `setRandom` in interface `BCKeyStore`

#### engineAliases

    public java.util.Enumeration engineAliases()

Specified by:
  `engineAliases` in class `java.security.KeyStoreSpi`

#### engineContainsAlias

    public boolean engineContainsAlias(java.lang.String alias)

Specified by:
  `engineContainsAlias` in class `java.security.KeyStoreSpi`

#### engineDeleteEntry

    public void engineDeleteEntry(java.lang.String alias)
                           throws java.security.KeyStoreException

Specified by:
  `engineDeleteEntry` in class `java.security.KeyStoreSpi`
Throws:
  `java.security.KeyStoreException`

#### engineGetCertificate

    public java.security.cert.Certificate engineGetCertificate(java.lang.String alias)

Specified by:
  `engineGetCertificate` in class `java.security.KeyStoreSpi`

#### engineGetCertificateAlias

    public java.lang.String engineGetCertificateAlias(java.security.cert.Certificate cert)

Specified by:
  `engineGetCertificateAlias` in class `java.security.KeyStoreSpi`

#### engineGetCertificateChain

    public java.security.cert.Certificate[] engineGetCertificateChain(java.lang.String alias)

Specified by:
  `engineGetCertificateChain` in class `java.security.KeyStoreSpi`

#### engineGetCreationDate

    public java.util.Date engineGetCreationDate(java.lang.String alias)

Specified by:
  `engineGetCreationDate` in class `java.security.KeyStoreSpi`

#### engineGetKey

    public java.security.Key engineGetKey(java.lang.String alias,
                                 char[] password)
                                   throws java.security.NoSuchAlgorithmException,
                                          java.security.UnrecoverableKeyException

Specified by:
  `engineGetKey` in class `java.security.KeyStoreSpi`
Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.UnrecoverableKeyException`

#### engineIsCertificateEntry

    public boolean engineIsCertificateEntry(java.lang.String alias)

Specified by:
  `engineIsCertificateEntry` in class `java.security.KeyStoreSpi`

#### engineIsKeyEntry

    public boolean engineIsKeyEntry(java.lang.String alias)

Specified by:
  `engineIsKeyEntry` in class `java.security.KeyStoreSpi`

#### engineSetCertificateEntry

    public void engineSetCertificateEntry(java.lang.String alias,
                                 java.security.cert.Certificate cert)
                                   throws java.security.KeyStoreException

Specified by:
  `engineSetCertificateEntry` in class `java.security.KeyStoreSpi`
Throws:
  `java.security.KeyStoreException`

#### engineSetKeyEntry

    public void engineSetKeyEntry(java.lang.String alias,
                         byte[] key,
                         java.security.cert.Certificate[] chain)
                           throws java.security.KeyStoreException

Specified by:
  `engineSetKeyEntry` in class `java.security.KeyStoreSpi`
Throws:
  `java.security.KeyStoreException`

#### engineSetKeyEntry

    public void engineSetKeyEntry(java.lang.String alias,
                         java.security.Key key,
                         char[] password,
                         java.security.cert.Certificate[] chain)
                           throws java.security.KeyStoreException

Specified by:
  `engineSetKeyEntry` in class `java.security.KeyStoreSpi`
Throws:
  `java.security.KeyStoreException`

#### engineSize

    public int engineSize()

Specified by:
  `engineSize` in class `java.security.KeyStoreSpi`

#### loadStore

    protected void loadStore(java.io.InputStream in)
                      throws java.io.IOException

Throws:
  `java.io.IOException`

#### saveStore

    protected void saveStore(java.io.OutputStream out)
                      throws java.io.IOException

Throws:
  `java.io.IOException`

#### engineLoad

    public void engineLoad(java.io.InputStream stream,
                  char[] password)
                    throws java.io.IOException

Specified by:
  `engineLoad` in class `java.security.KeyStoreSpi`
Throws:
  `java.io.IOException`

#### engineStore

    public void engineStore(java.io.OutputStream stream,
                   char[] password)
                     throws java.io.IOException

Specified by:
  `engineStore` in class `java.security.KeyStoreSpi`
Throws:
  `java.io.IOException`