org.bouncycastle.jce.provider
Class JDKPKCS12KeyStore
java.lang.Object
java.security.KeyStoreSpi
org.bouncycastle.jce.provider.JDKPKCS12KeyStore
- All Implemented Interfaces:
- PKCSObjectIdentifiers, X509ObjectIdentifiers, BCKeyStore
- Direct Known Subclasses:
- JDKPKCS12KeyStore.BCPKCS12KeyStore, JDKPKCS12KeyStore.DefPKCS12KeyStore
public class JDKPKCS12KeyStore
- extends java.security.KeyStoreSpi
- implements PKCSObjectIdentifiers, X509ObjectIdentifiers, BCKeyStore
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_commitmentType, id_aa_contentHint, id_aa_contentIdentifier, id_aa_encrypKeyPref, id_aa_otherSigCert, id_aa_receiptRequest, id_aa_signatureTimeStampToken, id_aa_signerLocation, id_aa_signingCertificate, id_aa_sigPolicyId, id_alg_CMS3DESwrap, id_alg_CMSRC2wrap, id_alg_PWRI_KEK, id_ct, id_ct_compressedData, id_ct_TSTInfo, id_cti, id_cti_ets_proofOfApproval, id_cti_ets_proofOfCreation, id_cti_ets_proofOfDelivery, id_cti_ets_proofOfOrigin, id_cti_ets_proofOfReceipt, id_cti_ets_proofOfSender, id_hmacWithSHA1, id_hmacWithSHA224, id_hmacWithSHA256, id_hmacWithSHA384, id_hmacWithSHA512, id_mgf1, id_PBES2, id_PBKDF2, id_pSpecified, id_RSAES_OAEP, id_RSASSA_PSS, 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, crlAccessMethod, id, id_ad, id_ad_caIssuers, id_ad_ocsp, id_ea_rsa, id_pe, id_pkix, id_SHA1, localityName, ocspAccessMethod, organization, organizationalUnitName, ripemd160, ripemd160WithRSAEncryption, stateOrProvinceName |
Method Summary |
protected ASN1Sequence |
decryptData(AlgorithmIdentifier algId,
byte[] data,
char[] password,
boolean wrongPKCS12Zero)
|
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,
boolean wrongPKCS12Zero)
|
protected byte[] |
wrapKey(java.lang.String algorithm,
java.security.Key key,
PKCS12PBEParams pbeParams,
char[] password)
|
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 |
random
protected java.security.SecureRandom random
JDKPKCS12KeyStore
public JDKPKCS12KeyStore(java.lang.String provider)
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
- this is quite complete - we should follow up on the chain, a bit
tricky if a certificate appears in more than one chain...
- Specified by:
engineDeleteEntry
in class java.security.KeyStoreSpi
- Throws:
java.security.KeyStoreException
engineGetCertificate
public java.security.cert.Certificate engineGetCertificate(java.lang.String alias)
- simply return the cert for the private key
- 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
unwrapKey
protected java.security.PrivateKey unwrapKey(AlgorithmIdentifier algId,
byte[] data,
char[] password,
boolean wrongPKCS12Zero)
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,
boolean wrongPKCS12Zero)
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
- 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