public class BcKeyStoreSpi extends KeyStoreSpi implements BCKeyStore
| Modifier and Type | Class and Description |
|---|---|
static class |
BcKeyStoreSpi.BouncyCastleStore
the BouncyCastle store.
|
static class |
BcKeyStoreSpi.Std |
static class |
BcKeyStoreSpi.Version1 |
| Modifier and Type | Field and Description |
|---|---|
protected SecureRandom |
random |
protected Hashtable |
table |
protected int |
version |
| Constructor and Description |
|---|
BcKeyStoreSpi(int version) |
| Modifier and Type | Method and Description |
|---|---|
Enumeration |
engineAliases()
Returns an
Enumeration over all alias names stored in this
KeyStoreSpi. |
boolean |
engineContainsAlias(String alias)
Indicates whether the given alias is present in this
KeyStoreSpi. |
void |
engineDeleteEntry(String alias)
Deletes the entry identified with the given alias from this
KeyStoreSpi. |
Certificate |
engineGetCertificate(String alias)
Returns the trusted certificate for the entry with the given alias.
|
String |
engineGetCertificateAlias(Certificate cert)
Returns the alias associated with the first entry whose certificate
matches the specified certificate.
|
Certificate[] |
engineGetCertificateChain(String alias)
Returns the certificate chain for the entry with the given alias.
|
Date |
engineGetCreationDate(String alias)
Returns the creation date of the entry with the given alias.
|
Key |
engineGetKey(String alias,
char[] password)
Returns the key with the given alias, using the password to recover the
key from the store.
|
boolean |
engineIsCertificateEntry(String alias)
Indicates whether the specified alias is associated with a
KeyStore.TrustedCertificateEntry. |
boolean |
engineIsKeyEntry(String alias)
Indicates whether the specified alias is associated with either a
KeyStore.PrivateKeyEntry or a KeyStore.SecretKeyEntry. |
void |
engineLoad(InputStream stream,
char[] password)
Loads this
KeyStoreSpi from the given InputStream. |
void |
engineSetCertificateEntry(String alias,
Certificate cert)
Associates the given alias with a certificate.
|
void |
engineSetKeyEntry(String alias,
byte[] key,
Certificate[] chain)
Associates the given alias with a key and a certificate chain.
|
void |
engineSetKeyEntry(String alias,
Key key,
char[] password,
Certificate[] chain)
Associates the given alias with the key, password and certificate chain.
|
int |
engineSize()
Returns the number of entries stored in this
KeyStoreSpi. |
void |
engineStore(OutputStream stream,
char[] password)
Writes this
KeyStoreSpi to the specified OutputStream. |
protected void |
loadStore(InputStream in) |
protected Cipher |
makePBECipher(String algorithm,
int mode,
char[] password,
byte[] salt,
int iterationCount) |
protected void |
saveStore(OutputStream out) |
void |
setRandom(SecureRandom rand)
set the random source for the key store
|
engineEntryInstanceOf, engineGetEntry, engineLoad, engineSetEntry, engineStoreprotected Hashtable table
protected SecureRandom random
protected int version
protected Cipher makePBECipher(String algorithm, int mode, char[] password, byte[] salt, int iterationCount) throws IOException
IOExceptionpublic void setRandom(SecureRandom rand)
BCKeyStoresetRandom in interface BCKeyStorepublic Enumeration engineAliases()
KeyStoreSpiEnumeration over all alias names stored in this
KeyStoreSpi.engineAliases in class KeyStoreSpiEnumeration over all alias names stored in this
KeyStoreSpi.public boolean engineContainsAlias(String alias)
KeyStoreSpiKeyStoreSpi.engineContainsAlias in class KeyStoreSpialias - the alias of an entry.true if the alias exists, false otherwise.public void engineDeleteEntry(String alias) throws KeyStoreException
KeyStoreSpiKeyStoreSpi.engineDeleteEntry in class KeyStoreSpialias - the alias for the entry.KeyStoreException - if the entry can not be deleted.public Certificate engineGetCertificate(String alias)
KeyStoreSpiengineGetCertificate in class KeyStoreSpialias - the alias for the entry.null if the specified alias is not bound to an entry.public String engineGetCertificateAlias(Certificate cert)
KeyStoreSpiengineGetCertificateAlias in class KeyStoreSpicert - the certificate to find the associated entry's alias for.null if no entry with the specified
certificate can be found.public Certificate[] engineGetCertificateChain(String alias)
KeyStoreSpiengineGetCertificateChain in class KeyStoreSpialias - the alias for the entrynull if the specified alias is not bound to an entry.public Date engineGetCreationDate(String alias)
KeyStoreSpiengineGetCreationDate in class KeyStoreSpialias - the alias for the entry.null if the specified alias is not
bound to an entry.public Key engineGetKey(String alias, char[] password) throws NoSuchAlgorithmException, UnrecoverableKeyException
KeyStoreSpiengineGetKey in class KeyStoreSpialias - the alias for the entry.password - the password used to recover the key.null if the
specified alias is not bound to an entry.NoSuchAlgorithmException - if the algorithm for recovering the key is not available.UnrecoverableKeyException - if the key can not be recovered.public boolean engineIsCertificateEntry(String alias)
KeyStoreSpiKeyStore.TrustedCertificateEntry.engineIsCertificateEntry in class KeyStoreSpialias - the alias of an entry.true if the given alias is associated with a certificate
entry.public boolean engineIsKeyEntry(String alias)
KeyStoreSpiKeyStore.PrivateKeyEntry or a KeyStore.SecretKeyEntry.engineIsKeyEntry in class KeyStoreSpialias - the alias of an entry.true if the given alias is associated with a key entry.public void engineSetCertificateEntry(String alias, Certificate cert) throws KeyStoreException
KeyStoreSpiIf the specified alias already exists, it will be reassigned.
engineSetCertificateEntry in class KeyStoreSpialias - the alias for the certificate.cert - the certificate.KeyStoreException - if an existing alias is not associated to an entry containing
a trusted certificate, or this method fails for any other
reason.public void engineSetKeyEntry(String alias, byte[] key, Certificate[] chain) throws KeyStoreException
KeyStoreSpiIf the specified alias already exists, it will be reassigned.
engineSetKeyEntry in class KeyStoreSpialias - the alias for the key.key - the key in an encoded format.chain - the certificate chain.KeyStoreException - if this operation fails.public void engineSetKeyEntry(String alias, Key key, char[] password, Certificate[] chain) throws KeyStoreException
KeyStoreSpiIf the specified alias already exists, it will be reassigned.
engineSetKeyEntry in class KeyStoreSpialias - the alias for the key.key - the key.password - the password.chain - the certificate chain.KeyStoreException - if the specified key can not be protected, or if this
operation fails for another reason.public int engineSize()
KeyStoreSpiKeyStoreSpi.engineSize in class KeyStoreSpiKeyStoreSpi.protected void loadStore(InputStream in) throws IOException
IOExceptionprotected void saveStore(OutputStream out) throws IOException
IOExceptionpublic void engineLoad(InputStream stream, char[] password) throws IOException
KeyStoreSpiKeyStoreSpi from the given InputStream.
Utilizes the given password to verify the stored data.engineLoad in class KeyStoreSpistream - the InputStream to load this KeyStoreSpi's
data from.password - the password to verify the stored data, maybe null.IOException - if a problem occurred while reading from the stream.public void engineStore(OutputStream stream, char[] password) throws IOException
KeyStoreSpiKeyStoreSpi to the specified OutputStream.
The data written to the OutputStream is protected by the
specified password.engineStore in class KeyStoreSpistream - the OutputStream to write the store's data to.password - the password to protect the data.IOException - if a problem occurred while writing to the stream.