From 2017da526c1d50e7292ee9cd668c6c85d31b265f Mon Sep 17 00:00:00 2001 From: Warren Levy Date: Wed, 28 Jun 2000 11:24:05 +0000 Subject: Gnu.java: New file. * gnu/java/security/provider/Gnu.java: New file. * gnu/java/security/provider/SHA.java: New file. * gnu/java/security/provider/SHA1PRNG.java: New file. * Makefile.am: Added the above files. * Makefile.in: Rebuilt. * java/io/ObjectStreamClass.java (setUID): Use Gnu SHA instead of SHS. From-SVN: r34753 --- libjava/java/io/ObjectStreamClass.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'libjava/java/io/ObjectStreamClass.java') diff --git a/libjava/java/io/ObjectStreamClass.java b/libjava/java/io/ObjectStreamClass.java index f799b4f..c43112d 100644 --- a/libjava/java/io/ObjectStreamClass.java +++ b/libjava/java/io/ObjectStreamClass.java @@ -36,13 +36,14 @@ import java.lang.reflect.Modifier; import java.security.DigestOutputStream; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; +import java.security.Security; import java.util.Arrays; import java.util.Comparator; import java.util.Hashtable; import java.util.Vector; import gnu.java.io.NullOutputStream; import gnu.java.lang.reflect.TypeSignature; -import gnu.gcj.io.SimpleSHSStream; +import gnu.java.security.provider.Gnu; public class ObjectStreamClass implements Serializable @@ -420,20 +421,21 @@ public class ObjectStreamClass implements Serializable MessageDigest md = null; DigestOutputStream digest_out = null; DataOutputStream data_out = null; - SimpleSHSStream simple = null; try { md = MessageDigest.getInstance ("SHA"); - digest_out = new DigestOutputStream (nullOutputStream, md); - data_out = new DataOutputStream (digest_out); } catch (NoSuchAlgorithmException e) { - simple = new SimpleSHSStream (nullOutputStream); - data_out = new DataOutputStream (simple); + // If a provider already provides SHA, use it; otherwise, use this. + Gnu gnuProvider = new Gnu(); + Security.addProvider(gnuProvider); + md = MessageDigest.getInstance ("SHA"); } + digest_out = new DigestOutputStream (nullOutputStream, md); + data_out = new DataOutputStream (digest_out); data_out.writeUTF (cl.getName ()); int modifiers = cl.getModifiers (); @@ -522,7 +524,7 @@ public class ObjectStreamClass implements Serializable } data_out.close (); - byte[] sha = md != null ? md.digest () : simple.digest (); + byte[] sha = md.digest (); long result = 0; int len = sha.length < 8 ? sha.length : 8; for (int i=0; i < len; i++) -- cgit v1.1