aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/io/ObjectStreamClass.java
diff options
context:
space:
mode:
authorWarren Levy <warrenl@cygnus.com>2000-06-28 11:24:05 +0000
committerWarren Levy <warrenl@gcc.gnu.org>2000-06-28 11:24:05 +0000
commit2017da526c1d50e7292ee9cd668c6c85d31b265f (patch)
treed2cb962ad028c8e94c09b7d745e311b65c24f738 /libjava/java/io/ObjectStreamClass.java
parent0e4aca88306e31f59b6e63552cb32963d8dc6586 (diff)
downloadgcc-2017da526c1d50e7292ee9cd668c6c85d31b265f.zip
gcc-2017da526c1d50e7292ee9cd668c6c85d31b265f.tar.gz
gcc-2017da526c1d50e7292ee9cd668c6c85d31b265f.tar.bz2
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
Diffstat (limited to 'libjava/java/io/ObjectStreamClass.java')
-rw-r--r--libjava/java/io/ObjectStreamClass.java16
1 files changed, 9 insertions, 7 deletions
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++)