public class PEMKeyStore
extends java.security.KeyStoreSpi
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.String,SecurityObjectWrapper<?>> |
aliasObjectMap |
private ResourceSecurityWrapperStore<ResourceTrustAnchor,java.security.cert.TrustAnchor> |
caDelegate |
private java.util.Map<java.security.cert.Certificate,java.lang.String> |
certFilenameMap |
static java.lang.String |
CERTIFICATE_FILENAME |
static java.lang.String |
DEFAULT_DIRECTORY_KEY |
private java.io.File |
defaultDirectory |
static java.lang.String |
DIRECTORY_LIST_KEY |
private boolean |
inMemoryOnly |
static java.lang.String |
KEY_FILENAME |
private static org.apache.commons.logging.Log |
logger |
static java.lang.String |
PROXY_FILENAME |
private ResourceSecurityWrapperStore<ResourceProxyCredential,X509Credential> |
proxyDelegate |
Constructor and Description |
---|
PEMKeyStore() |
Modifier and Type | Method and Description |
---|---|
private CredentialWrapper |
createCertKeyCredential(java.lang.String s,
X509Credential credential) |
private CredentialWrapper |
createProxyCredential(java.lang.String s,
X509Credential credential) |
java.util.Enumeration<java.lang.String> |
engineAliases()
Get an enumertion of all of the aliases in this keystore.
|
boolean |
engineContainsAlias(java.lang.String s)
Does the specified alias exist in this keystore?
|
void |
engineDeleteEntry(java.lang.String s)
Delete a security object from this keystore.
|
java.security.cert.Certificate |
engineGetCertificate(java.lang.String s)
Get the certificate referenced by the supplied alias.
|
java.lang.String |
engineGetCertificateAlias(java.security.cert.Certificate certificate)
Get the alias associated with the supplied certificate.
|
java.security.cert.Certificate[] |
engineGetCertificateChain(java.lang.String s)
Get the certificateChain for the key referenced by the alias.
|
java.util.Date |
engineGetCreationDate(java.lang.String s)
Get the creation date for the object referenced by the alias.
|
java.security.Key |
engineGetKey(java.lang.String s,
char[] chars)
Get the key referenced by the specified alias.
|
boolean |
engineIsCertificateEntry(java.lang.String s)
Does the supplied alias refer to a certificate in this keystore?
|
boolean |
engineIsKeyEntry(java.lang.String s)
Does the supplied alias refer to a key in this key store.
|
void |
engineLoad(java.io.InputStream inputStream,
char[] chars)
Load the keystore from the supplied input stream.
|
void |
engineLoad(java.security.KeyStore.LoadStoreParameter loadStoreParameter)
Load the keystore based on parameters in the LoadStoreParameter.
|
void |
engineSetCertificateEntry(java.lang.String alias,
java.security.cert.Certificate certificate)
Add a certificate to the keystore.
|
void |
engineSetKeyEntry(java.lang.String s,
byte[] bytes,
java.security.cert.Certificate[] certificates)
currently unsupported.
|
void |
engineSetKeyEntry(java.lang.String s,
java.security.Key key,
char[] chars,
java.security.cert.Certificate[] certificates)
Add a new private key to the keystore.
|
int |
engineSize()
Get the number of security objects stored in this keystore.
|
void |
engineStore(java.io.OutputStream outputStream,
char[] chars)
Persist the security material in this keystore.
|
private ResourceTrustAnchor |
getCertificateEntry(java.lang.String alias) |
private CredentialWrapper |
getKeyEntry(java.lang.String alias) |
private void |
initialize(java.lang.String defaultDirectoryString,
java.lang.String directoryListString,
java.lang.String proxyFilename,
java.lang.String certFilename,
java.lang.String keyFilename)
Initialize resources from filename, proxyfile name
|
private void |
loadCertificateKey(java.lang.String userCertFilename,
java.lang.String userKeyFilename) |
private void |
loadDirectories(java.lang.String directoryList) |
private void |
loadProxyCertificate(java.lang.String proxyFilename) |
void |
setCACertStore(ResourceSecurityWrapperStore<ResourceTrustAnchor,java.security.cert.TrustAnchor> caCertStore) |
void |
setProxyDelegate(ResourceSecurityWrapperStore<ResourceProxyCredential,X509Credential> proxyDelegate) |
private void |
storeWrapper(CredentialWrapper wrapper) |
public static final java.lang.String DEFAULT_DIRECTORY_KEY
public static final java.lang.String DIRECTORY_LIST_KEY
public static final java.lang.String CERTIFICATE_FILENAME
public static final java.lang.String KEY_FILENAME
public static final java.lang.String PROXY_FILENAME
private static org.apache.commons.logging.Log logger
private java.util.Map<java.lang.String,SecurityObjectWrapper<?>> aliasObjectMap
private java.util.Map<java.security.cert.Certificate,java.lang.String> certFilenameMap
private java.io.File defaultDirectory
private ResourceSecurityWrapperStore<ResourceTrustAnchor,java.security.cert.TrustAnchor> caDelegate
private ResourceSecurityWrapperStore<ResourceProxyCredential,X509Credential> proxyDelegate
private boolean inMemoryOnly
public void setCACertStore(ResourceSecurityWrapperStore<ResourceTrustAnchor,java.security.cert.TrustAnchor> caCertStore)
public void setProxyDelegate(ResourceSecurityWrapperStore<ResourceProxyCredential,X509Credential> proxyDelegate)
private CredentialWrapper getKeyEntry(java.lang.String alias)
private ResourceTrustAnchor getCertificateEntry(java.lang.String alias)
public java.security.Key engineGetKey(java.lang.String s, char[] chars) throws java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException
engineGetKey
in class java.security.KeyStoreSpi
s
- The key's alias.chars
- The key's password.java.security.NoSuchAlgorithmException
- If the key is encoded with an invalid algorithm.java.security.UnrecoverableKeyException
- If the key can not be retrieved.public boolean engineIsKeyEntry(java.lang.String s)
engineIsKeyEntry
in class java.security.KeyStoreSpi
s
- The alias.public void engineStore(java.io.OutputStream outputStream, char[] chars) throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
engineStore
in class java.security.KeyStoreSpi
outputStream
- This parameter is ignored.chars
- This parameter is ignored.java.io.IOException
java.security.NoSuchAlgorithmException
java.security.cert.CertificateException
public java.util.Date engineGetCreationDate(java.lang.String s)
engineGetCreationDate
in class java.security.KeyStoreSpi
s
- The alias of the security object.public java.lang.String engineGetCertificateAlias(java.security.cert.Certificate certificate)
engineGetCertificateAlias
in class java.security.KeyStoreSpi
certificate
- The certificate to querypublic java.security.cert.Certificate[] engineGetCertificateChain(java.lang.String s)
engineGetCertificateChain
in class java.security.KeyStoreSpi
s
- The key alias.public java.security.cert.Certificate engineGetCertificate(java.lang.String s)
engineGetCertificate
in class java.security.KeyStoreSpi
s
- The alias.public void engineLoad(java.security.KeyStore.LoadStoreParameter loadStoreParameter) throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
engineLoad
in class java.security.KeyStoreSpi
loadStoreParameter
- The parameters to load.java.io.IOException
java.security.NoSuchAlgorithmException
java.security.cert.CertificateException
public void engineLoad(java.io.InputStream inputStream, char[] chars) throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
engineLoad
in class java.security.KeyStoreSpi
inputStream
- An input stream to the properties file.chars
- The password is not used.java.io.IOException
java.security.NoSuchAlgorithmException
java.security.cert.CertificateException
private void initialize(java.lang.String defaultDirectoryString, java.lang.String directoryListString, java.lang.String proxyFilename, java.lang.String certFilename, java.lang.String keyFilename) throws java.io.IOException, java.security.cert.CertificateException
defaultDirectoryString
- Name of the default directory name as:
"file: directory name"directoryListString
- proxyFilename
- certFilename
- keyFilename
- java.io.IOException
java.security.cert.CertificateException
private void loadProxyCertificate(java.lang.String proxyFilename) throws ResourceStoreException
ResourceStoreException
private void loadCertificateKey(java.lang.String userCertFilename, java.lang.String userKeyFilename) throws CredentialException, ResourceStoreException
private void loadDirectories(java.lang.String directoryList) throws java.security.cert.CertificateException
java.security.cert.CertificateException
public void engineDeleteEntry(java.lang.String s) throws java.security.KeyStoreException
engineDeleteEntry
in class java.security.KeyStoreSpi
s
- The alias of the object to delete.java.security.KeyStoreException
public java.util.Enumeration<java.lang.String> engineAliases()
engineAliases
in class java.security.KeyStoreSpi
public void engineSetKeyEntry(java.lang.String s, java.security.Key key, char[] chars, java.security.cert.Certificate[] certificates) throws java.security.KeyStoreException
engineSetKeyEntry
in class java.security.KeyStoreSpi
s
- The alias for the object.key
- The private key.chars
- The password.certificates
- The key's certificate chain.java.security.KeyStoreException
private CredentialWrapper createProxyCredential(java.lang.String s, X509Credential credential) throws java.security.KeyStoreException
java.security.KeyStoreException
private CredentialWrapper createCertKeyCredential(java.lang.String s, X509Credential credential) throws java.security.KeyStoreException
java.security.KeyStoreException
private void storeWrapper(CredentialWrapper wrapper) throws java.security.KeyStoreException
java.security.KeyStoreException
public void engineSetKeyEntry(java.lang.String s, byte[] bytes, java.security.cert.Certificate[] certificates) throws java.security.KeyStoreException
engineSetKeyEntry
in class java.security.KeyStoreSpi
s
- The key's aliasbytes
- The encoded private key.certificates
- The key's certificate chain.java.security.KeyStoreException
public boolean engineContainsAlias(java.lang.String s)
engineContainsAlias
in class java.security.KeyStoreSpi
s
- The alias.public int engineSize()
engineSize
in class java.security.KeyStoreSpi
public boolean engineIsCertificateEntry(java.lang.String s)
engineIsCertificateEntry
in class java.security.KeyStoreSpi
s
- The alias.public void engineSetCertificateEntry(java.lang.String alias, java.security.cert.Certificate certificate) throws java.security.KeyStoreException
engineSetCertificateEntry
in class java.security.KeyStoreSpi
alias
- The certificate alias.certificate
- The certificate to store.java.security.KeyStoreException