diff options
author | warrenl <warrenl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-06-28 11:24:05 +0000 |
---|---|---|
committer | warrenl <warrenl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-06-28 11:24:05 +0000 |
commit | bc802385bdfe5c271a6cdba14113c62ab3608c33 (patch) | |
tree | d2cb962ad028c8e94c09b7d745e311b65c24f738 /libjava/java/io/ObjectStreamClass.java | |
parent | 252cf8daa2b6766c1c3ddbfd8a3e672085bc0a3d (diff) | |
download | ppe42-gcc-bc802385bdfe5c271a6cdba14113c62ab3608c33.tar.gz ppe42-gcc-bc802385bdfe5c271a6cdba14113c62ab3608c33.zip |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34753 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/io/ObjectStreamClass.java')
-rw-r--r-- | libjava/java/io/ObjectStreamClass.java | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/libjava/java/io/ObjectStreamClass.java b/libjava/java/io/ObjectStreamClass.java index f799b4f498e..c43112d7a61 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++) |