diff options
Diffstat (limited to 'libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStore.java')
-rw-r--r-- | libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStore.java | 225 |
1 files changed, 225 insertions, 0 deletions
diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStore.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStore.java new file mode 100644 index 000000000..0ded759a6 --- /dev/null +++ b/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStore.java @@ -0,0 +1,225 @@ + +package java.security; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.security.cert.Certificate; +import java.security.cert.CertificateException; +import java.util.Date; +import java.util.Enumeration; + +public class KeyStore extends Object +{ + private KeyStoreSpi keyStoreSpi; + private Provider provider; + private String type; + private boolean initialised; + + protected KeyStore( + KeyStoreSpi keyStoreSpi, + Provider provider, + String type) + { + this.keyStoreSpi = keyStoreSpi; + this.provider = provider; + this.type = type; + this.initialised = false; + } + + public final Enumeration aliases() throws KeyStoreException + { + if ( !initialised ) + throw new KeyStoreException("KeyStore not initialised."); + + return keyStoreSpi.engineAliases(); + } + + public final boolean containsAlias(String alias) throws KeyStoreException + { + if ( !initialised ) + throw new KeyStoreException("KeyStore not initialised."); + + return keyStoreSpi.engineContainsAlias(alias); + } + + public final void deleteEntry(String alias) throws KeyStoreException + { + if ( !initialised ) + throw new KeyStoreException("KeyStore not initialised."); + + keyStoreSpi.engineDeleteEntry(alias); + } + + public final Certificate getCertificate(String alias) + throws KeyStoreException + { + if ( !initialised ) + throw new KeyStoreException("KeyStore not initialised."); + + return keyStoreSpi.engineGetCertificate(alias); + } + + public final String getCertificateAlias(Certificate cert) + throws KeyStoreException + { + if ( !initialised ) + throw new KeyStoreException("KeyStore not initialised."); + + return keyStoreSpi.engineGetCertificateAlias(cert); + } + + public final Certificate[] getCertificateChain(String alias) + throws KeyStoreException + { + if ( !initialised ) + throw new KeyStoreException("KeyStore not initialised."); + + return keyStoreSpi.engineGetCertificateChain(alias); + } + + public final Date getCreationDate(String alias) throws KeyStoreException + { + if ( !initialised ) + throw new KeyStoreException("KeyStore not initialised."); + + return keyStoreSpi.engineGetCreationDate(alias); + } + + public static final String getDefaultType() + { + return "JKS"; + } + + public static KeyStore getInstance(String type) throws KeyStoreException + { + try + { + SecurityUtil.Implementation imp = SecurityUtil.getImplementation("KeyStore", type, null); + + if (imp != null) + { + return new KeyStore((KeyStoreSpi)imp.getEngine(), imp.getProvider(), type); + } + + throw new KeyStoreException("can't find type " + type); + } + catch (NoSuchProviderException e) + { + throw new KeyStoreException(type + " not found"); + } + } + + public static KeyStore getInstance(String type, String provider) + throws KeyStoreException, NoSuchProviderException + { + SecurityUtil.Implementation imp = SecurityUtil.getImplementation("KeyStore", type, provider); + + if (imp != null) + { + return new KeyStore((KeyStoreSpi)imp.getEngine(), imp.getProvider(), type); + } + + throw new KeyStoreException("can't find type " + type); + } + + public final Key getKey(String alias, char[] password) + throws KeyStoreException, NoSuchAlgorithmException, + UnrecoverableKeyException + { + if ( !initialised ) + throw new KeyStoreException("KeyStore not initialised."); + + return keyStoreSpi.engineGetKey(alias, password); + } + + public final Provider getProvider() + { + return provider; + } + + public final String getType() + { + return type; + } + + public final boolean isCertificateEntry(String alias) + throws KeyStoreException + { + if ( !initialised ) + throw new KeyStoreException("KeyStore not initialised."); + + return keyStoreSpi.engineIsCertificateEntry(alias); + } + + public final boolean isKeyEntry(String alias) throws KeyStoreException + { + if ( !initialised ) + throw new KeyStoreException("KeyStore not initialised."); + + return keyStoreSpi.engineIsKeyEntry(alias); + } + + public final void load( + InputStream stream, + char[] password) + throws IOException, NoSuchAlgorithmException, CertificateException + { + keyStoreSpi.engineLoad(stream, password); + initialised = true; + } + + public final void setCertificateEntry(String alias, Certificate cert) + throws KeyStoreException + { + if ( !initialised ) + throw new KeyStoreException("KeyStore not initialised."); + + keyStoreSpi.engineSetCertificateEntry(alias, cert); + } + + public final void setKeyEntry( + String alias, + Key key, + char[] password, + Certificate[] chain) + throws KeyStoreException + { + if ( !initialised ) + throw new KeyStoreException("KeyStore not initialised."); + + keyStoreSpi.engineSetKeyEntry(alias, key, password, chain); + } + + public final void setKeyEntry( + String alias, + byte[] key, + Certificate[] chain) + throws KeyStoreException + { + if ( !initialised ) + throw new KeyStoreException("KeyStore not initialised."); + + keyStoreSpi.engineSetKeyEntry(alias, key, chain); + } + + public final int size() throws KeyStoreException + { + if ( !initialised ) + throw new KeyStoreException("KeyStore not initialised."); + + return keyStoreSpi.engineSize(); + } + + public final void store( + OutputStream stream, + char[] password) + throws KeyStoreException, IOException, NoSuchAlgorithmException, + CertificateException + { + if ( !initialised ) + throw new KeyStoreException("KeyStore not initialised."); + + keyStoreSpi.engineStore(stream, password); + } +} |