diff options
Diffstat (limited to 'libjava/java/security/Signature.java')
-rw-r--r-- | libjava/java/security/Signature.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libjava/java/security/Signature.java b/libjava/java/security/Signature.java index dff2e2d..1e99a7b 100644 --- a/libjava/java/security/Signature.java +++ b/libjava/java/security/Signature.java @@ -41,6 +41,8 @@ import java.security.cert.Certificate; import java.security.cert.X509Certificate; import java.security.spec.AlgorithmParameterSpec; +import gnu.java.security.Engine; + /** * <p>This <code>Signature</code> class is used to provide applications the * functionality of a digital signature algorithm. Digital signatures are used @@ -237,7 +239,15 @@ public abstract class Signature extends SignatureSpi throw new IllegalArgumentException("Illegal provider"); Signature result = null; - Object o = Engine.getInstance(SIGNATURE, algorithm, provider); + Object o = null; + try + { + o = Engine.getInstance(SIGNATURE, algorithm, provider); + } + catch (java.lang.reflect.InvocationTargetException ite) + { + throw new NoSuchAlgorithmException(algorithm); + } if (o instanceof SignatureSpi) { |