diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | java/security/KeyStore.java | 45 |
2 files changed, 46 insertions, 6 deletions
@@ -1,3 +1,10 @@ +2002-11-18 Joerg Brunsmann <joerg_brunsmann@yahoo.de> + + * java/security/KeyStore.java (getInstance): Fix + comment and throw IllegalArgumentException if + given provider is null. + (getInstance): New method for jdk1.4 compatibility. + 2002-11-18 Michael Koch <konqueror@gmx.de> * gnu/java/nio/SelectorImpl.java diff --git a/java/security/KeyStore.java b/java/security/KeyStore.java index e7c80716c..1627bc561 100644 --- a/java/security/KeyStore.java +++ b/java/security/KeyStore.java @@ -1,5 +1,5 @@ /* KeyStore.java --- Key Store Class - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2002 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -92,9 +92,9 @@ public class KeyStore /** Gets an instance of the KeyStore class representing the specified keystore. If the type is not - found then, it throws CertificateException. + found then, it throws KeyStoreException. - @param type the type of certificate to choose + @param type the type of keystore to choose @return a KeyStore repesenting the desired type @@ -117,20 +117,26 @@ public class KeyStore /** Gets an instance of the KeyStore class representing the specified key store from the specified provider. - If the type is not found then, it throws CertificateException. + If the type is not found then, it throws KeyStoreException. If the provider is not found, then it throws NoSuchProviderException. - @param type the type of certificate to choose + @param type the type of keystore to choose + @param provider the provider name @return a KeyStore repesenting the desired type - @throws KeyStoreException if the type of keystore is not implemented by providers + @throws KeyStoreException if the type of keystore is not + implemented by the given provider @throws NoSuchProviderException if the provider is not found + @throws IllegalArgumentException if the provider string is + null or empty */ public static KeyStore getInstance(String type, String provider) throws KeyStoreException, NoSuchProviderException { + if (provider == null || provider.length() == 0) + throw new IllegalArgumentException("Illegal provider"); Provider p = Security.getProvider(provider); if (p == null) throw new NoSuchProviderException(); @@ -138,6 +144,33 @@ public class KeyStore return getInstance(p.getProperty("KeyStore." + type), type, p); } + /** + Gets an instance of the KeyStore class representing + the specified key store from the specified provider. + If the type is not found then, it throws KeyStoreException. + If the provider is not found, then it throws + NoSuchProviderException. + + @param type the type of keystore to choose + @param provider the keystore provider + + @return a KeyStore repesenting the desired type + + @throws KeyStoreException if the type of keystore is not + implemented by the given provider + @throws IllegalArgumentException if the provider object is null + @since 1.4 + */ + public static KeyStore getInstance(String type, Provider provider) + throws KeyStoreException + { + if (provider == null) + throw new IllegalArgumentException("Illegal provider"); + + return getInstance(provider.getProperty("KeyStore." + type), + type, provider); + } + private static KeyStore getInstance(String classname, String type, Provider provider) |