aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStore.java
diff options
context:
space:
mode:
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.java225
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);
+ }
+}