Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography 1.26
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.bouncycastle.jce.provider
Class JDKPKCS12KeyStore

    java.lang.Object
      java.security.KeyStoreSpi
          org.bouncycastle.jce.provider.JDKPKCS12KeyStore

All Implemented Interfaces:
  BCKeyStore, PKCSObjectIdentifiers, X509ObjectIdentifiers

Direct Known Subclasses:
  JDKPKCS12KeyStore.BCPKCS12KeyStore, JDKPKCS12KeyStore.DefPKCS12KeyStore

public class JDKPKCS12KeyStore
extends java.security.KeyStoreSpi
implements PKCSObjectIdentifiers, X509ObjectIdentifiers, BCKeyStore

Nested Class Summary
`static class` | `JDKPKCS12KeyStore.BCPKCS12KeyStore`
`static class` | `JDKPKCS12KeyStore.DefPKCS12KeyStore`

Field Summary
`protected java.security.SecureRandom` | `random`

Fields inherited from interface org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers
`bagtypes, canNotDecryptAny, certBag, crlBag, data, des_EDE3_CBC, dhKeyAgreement, digestAlgorithm, digestedData, encryptedData, encryptionAlgorithm, envelopedData, id_aa, id_aa_encrypKeyPref, id_aa_signingCertificate, id_alg_PWRI_KEK, id_ct, id_ct_compressedData, id_ct_TSTInfo, id_hmacWithSHA1, id_PBES2, id_PBKDF2, keyBag, md2, md2WithRSAEncryption, md4, md4WithRSAEncryption, md5, md5WithRSAEncryption, pbeWithMD2AndDES_CBC, pbeWithMD2AndRC2_CBC, pbeWithMD5AndDES_CBC, pbeWithMD5AndRC2_CBC, pbeWithSHA1AndDES_CBC, pbeWithSHA1AndRC2_CBC, pbeWithSHAAnd128BitRC2_CBC, pbeWithSHAAnd128BitRC4, pbeWithSHAAnd2_KeyTripleDES_CBC, pbeWithSHAAnd3_KeyTripleDES_CBC, pbewithSHAAnd40BitRC2_CBC, pbeWithSHAAnd40BitRC4, pkcs_1, pkcs_12, pkcs_12PbeIds, pkcs_3, pkcs_5, pkcs_7, pkcs_9, pkcs_9_at_challengePassword, pkcs_9_at_contentType, pkcs_9_at_counterSignature, pkcs_9_at_emailAddress, pkcs_9_at_extendedCertificateAttributes, pkcs_9_at_extensionRequest, pkcs_9_at_friendlyName, pkcs_9_at_localKeyId, pkcs_9_at_messageDigest, pkcs_9_at_signingDescription, pkcs_9_at_signingTime, pkcs_9_at_smimeCapabilities, pkcs_9_at_unstructuredAddress, pkcs_9_at_unstructuredName, pkcs8ShroudedKeyBag, preferSignedData, RC2_CBC, rsaEncryption, safeContentsBag, secretBag, sha1WithRSAEncryption, sha224WithRSAEncryption, sha256WithRSAEncryption, sha384WithRSAEncryption, sha512WithRSAEncryption, signedAndEnvelopedData, signedData, sMIMECapabilitiesVersions, srsaOAEPEncryptionSET, x509certType`

Fields inherited from interface org.bouncycastle.asn1.x509.X509ObjectIdentifiers
`commonName, countryName, id, id_ea_rsa, id_SHA1, localityName, ocspAccessMethod, organization, organizationalUnitName, ripemd160, ripemd160WithRSAEncryption, stateOrProvinceName`

Constructor Summary
`JDKPKCS12KeyStore(java.lang.String provider)`

Method Summary
`protected ASN1Sequence` | `decryptData(AlgorithmIdentifier algId, byte[] data, char[] password)`
`protected byte[]` | `encryptData(java.lang.String algorithm, byte[] data, PKCS12PBEParams pbeParams, char[] password)`
`java.util.Enumeration` | `engineAliases()`
`boolean` | `engineContainsAlias(java.lang.String alias)`
`void` | `engineDeleteEntry(java.lang.String alias)` this is quite complete - we should follow up on the chain, a bit tricky if a certificate appears in more than one chain...
`java.security.cert.Certificate` | `engineGetCertificate(java.lang.String alias)` simply return the cert for the private key
`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)`
`void` | `setRandom(java.security.SecureRandom rand)` set the random source for the key store
`protected java.security.PrivateKey` | `unwrapKey(AlgorithmIdentifier algId, byte[] data, char[] password)`
`protected byte[]` | `wrapKey(java.lang.String algorithm, java.security.Key key, PKCS12PBEParams pbeParams, char[] password)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### random

    protected java.security.SecureRandom random

Constructor Detail

### JDKPKCS12KeyStore

    public JDKPKCS12KeyStore(java.lang.String provider)

Method Detail

### 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()

### engineContainsAlias

    public boolean engineContainsAlias(java.lang.String alias)

### engineDeleteEntry

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

  this is quite complete - we should follow up on the chain, a bit tricky if a certificate appears in more than one chain...

  Throws:
    `java.security.KeyStoreException`

### engineGetCertificate

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

  simply return the cert for the private key

### engineGetCertificateAlias

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

### engineGetCertificateChain

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

### engineGetCreationDate

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

### engineGetKey

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

  Throws:
    `java.security.NoSuchAlgorithmException`
    `java.security.UnrecoverableKeyException`

### engineIsCertificateEntry

    public boolean engineIsCertificateEntry(java.lang.String alias)

### engineIsKeyEntry

    public boolean engineIsKeyEntry(java.lang.String alias)

### engineSetCertificateEntry

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

  Throws:
    `java.security.KeyStoreException`

### engineSetKeyEntry

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

  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

  Throws:
    `java.security.KeyStoreException`

### engineSize

    public int engineSize()

### unwrapKey

    protected java.security.PrivateKey unwrapKey(AlgorithmIdentifier algId,
                                                 byte[] data,
                                                 char[] password)
                                          throws java.io.IOException

  Throws:
    `java.io.IOException`

### wrapKey

    protected byte[] wrapKey(java.lang.String algorithm,
                             java.security.Key key,
                             PKCS12PBEParams pbeParams,
                             char[] password)
                      throws java.io.IOException

  Throws:
    `java.io.IOException`

### decryptData

    protected ASN1Sequence decryptData(AlgorithmIdentifier algId,
                                       byte[] data,
                                       char[] password)
                                throws java.io.IOException

  Throws:
    `java.io.IOException`

### encryptData

    protected byte[] encryptData(java.lang.String algorithm,
                                 byte[] data,
                                 PKCS12PBEParams pbeParams,
                                 char[] password)
                          throws java.io.IOException

  Throws:
    `java.io.IOException`

### engineLoad

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

  Throws:
    `java.io.IOException`

### engineStore

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

  Throws:
    `java.io.IOException`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography 1.26
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD