diff options
Diffstat (limited to 'gnu/javax')
20 files changed, 195 insertions, 135 deletions
diff --git a/gnu/javax/crypto/cipher/IBlockCipher.java b/gnu/javax/crypto/cipher/IBlockCipher.java index 86f8b34e0..48cc6968c 100644 --- a/gnu/javax/crypto/cipher/IBlockCipher.java +++ b/gnu/javax/crypto/cipher/IBlockCipher.java @@ -1,5 +1,5 @@ /* IBlockCipher.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2006, 2014 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -113,7 +113,7 @@ public interface IBlockCipher * * @return an {@link Iterator} over the supported block sizes. */ - Iterator blockSizes(); + Iterator<Integer> blockSizes(); /** * Returns an {@link Iterator} over the supported key sizes. Each element @@ -121,7 +121,7 @@ public interface IBlockCipher * * @return an {@link Iterator} over the supported key sizes. */ - Iterator keySizes(); + Iterator<Integer> keySizes(); /** * Returns a clone of this instance. @@ -141,7 +141,8 @@ public interface IBlockCipher * @see #KEY_MATERIAL * @see #CIPHER_BLOCK_SIZE */ - void init(Map attributes) throws InvalidKeyException, IllegalStateException; + void init(Map<String,Object> attributes) + throws InvalidKeyException, IllegalStateException; /** * Returns the currently set block size for this instance. diff --git a/gnu/javax/crypto/jce/prng/FortunaImpl.java b/gnu/javax/crypto/jce/prng/FortunaImpl.java index d2073b98d..e9e334f0e 100644 --- a/gnu/javax/crypto/jce/prng/FortunaImpl.java +++ b/gnu/javax/crypto/jce/prng/FortunaImpl.java @@ -1,5 +1,5 @@ /* FortunaImpl.java -- Fortuna SecureRandom adapter. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2014 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -64,7 +64,7 @@ public final class FortunaImpl { if (virgin) { - adaptee.init (Collections.singletonMap (Fortuna.SEED, seed)); + adaptee.init (Collections.singletonMap (Fortuna.SEED, (Object) seed)); virgin = false; } else diff --git a/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java b/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java index 8c03cbb00..27b74b996 100644 --- a/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java +++ b/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java @@ -1,5 +1,5 @@ /* DHKeyPairPKCS8Codec.java -- PKCS#8 encoder/decoder for DH keys - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2014 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -128,13 +128,13 @@ public class DHKeyPairPKCS8Codec q = BigInteger.ZERO; BigInteger x = pk.getX(); - ArrayList params = new ArrayList(3); + ArrayList<DERValue> params = new ArrayList<DERValue>(3); params.add(new DERValue(DER.INTEGER, p)); params.add(new DERValue(DER.INTEGER, g)); params.add(new DERValue(DER.INTEGER, q)); DERValue derParams = new DERValue(DER.CONSTRUCTED | DER.SEQUENCE, params); - ArrayList algorithmID = new ArrayList(2); + ArrayList<DERValue> algorithmID = new ArrayList<DERValue>(2); algorithmID.add(derOID); algorithmID.add(derParams); DERValue derAlgorithmID = new DERValue(DER.CONSTRUCTED | DER.SEQUENCE, @@ -142,7 +142,7 @@ public class DHKeyPairPKCS8Codec DERValue derPrivateKey = new DERValue(DER.OCTET_STRING, Util.trim(x)); - ArrayList pki = new ArrayList(3); + ArrayList<DERValue> pki = new ArrayList<DERValue>(3); pki.add(derVersion); pki.add(derAlgorithmID); pki.add(derPrivateKey); diff --git a/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java b/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java index 893716eef..7ed3666dd 100644 --- a/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java +++ b/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java @@ -1,5 +1,5 @@ /* DHKeyPairX509Codec.java -- X.509 DER encoder/decoder for DH keys - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2014 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -132,13 +132,13 @@ public class DHKeyPairX509Codec DERValue derG = new DERValue(DER.INTEGER, g); DERValue derQ = new DERValue(DER.INTEGER, q); - ArrayList params = new ArrayList(3); + ArrayList<DERValue> params = new ArrayList<DERValue>(3); params.add(derP); params.add(derG); params.add(derQ); DERValue derParams = new DERValue(DER.CONSTRUCTED | DER.SEQUENCE, params); - ArrayList algorithmID = new ArrayList(2); + ArrayList<DERValue> algorithmID = new ArrayList<DERValue>(2); algorithmID.add(derOID); algorithmID.add(derParams); DERValue derAlgorithmID = new DERValue(DER.CONSTRUCTED | DER.SEQUENCE, @@ -148,7 +148,7 @@ public class DHKeyPairX509Codec byte[] yBytes = derDHPublicKey.getEncoded(); DERValue derSPK = new DERValue(DER.BIT_STRING, new BitString(yBytes)); - ArrayList spki = new ArrayList(2); + ArrayList<DERValue> spki = new ArrayList<DERValue>(2); spki.add(derAlgorithmID); spki.add(derSPK); DERValue derSPKI = new DERValue(DER.CONSTRUCTED | DER.SEQUENCE, spki); diff --git a/gnu/javax/crypto/mac/IMac.java b/gnu/javax/crypto/mac/IMac.java index a9582564d..6081ef11f 100644 --- a/gnu/javax/crypto/mac/IMac.java +++ b/gnu/javax/crypto/mac/IMac.java @@ -1,5 +1,5 @@ /* IMac.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2006, 2014 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -129,7 +129,7 @@ public interface IMac * @exception IllegalStateException if the instance is already initialised. * @see #MAC_KEY_MATERIAL */ - void init(Map attributes) throws InvalidKeyException, IllegalStateException; + void init(Map<String,Object> attributes) throws InvalidKeyException, IllegalStateException; /** * Continues a <i>MAC</i> operation using the input byte. diff --git a/gnu/javax/crypto/mode/BaseMode.java b/gnu/javax/crypto/mode/BaseMode.java index 831dd9664..1f4feea22 100644 --- a/gnu/javax/crypto/mode/BaseMode.java +++ b/gnu/javax/crypto/mode/BaseMode.java @@ -1,5 +1,5 @@ /* BaseMode.java -- - Copyright (C) 2001, 2002, 2003, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2006, 2014 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -91,6 +91,7 @@ public abstract class BaseMode state = -1; } + @Override public void update(byte[] in, int inOffset, byte[] out, int outOffset) throws IllegalStateException { @@ -110,6 +111,7 @@ public abstract class BaseMode } } + @Override public String name() { return new CPStringBuilder(name).append('(').append(cipher.name()).append(')') @@ -128,6 +130,7 @@ public abstract class BaseMode * @return the default value, in bytes, of the mode's block size. * @see ModeFactory */ + @Override public int defaultBlockSize() { return cipherBlockSize; @@ -139,6 +142,7 @@ public abstract class BaseMode * * @return the default value, in bytes, of the underlying cipher's key size. */ + @Override public int defaultKeySize() { return cipher.defaultKeySize(); @@ -155,9 +159,10 @@ public abstract class BaseMode * * @return an {@link Iterator} over the supported block sizes. */ - public Iterator blockSizes() + @Override + public Iterator<Integer> blockSizes() { - ArrayList al = new ArrayList(); + ArrayList<Integer> al = new ArrayList<Integer>(); al.add(Integer.valueOf(cipherBlockSize)); return Collections.unmodifiableList(al).iterator(); } @@ -169,12 +174,14 @@ public abstract class BaseMode * * @return an {@link Iterator} over the supported key sizes. */ - public Iterator keySizes() + @Override + public Iterator<Integer> keySizes() { return cipher.keySizes(); } - public void init(Map attributes) throws InvalidKeyException, + @Override + public void init(Map<String,Object> attributes) throws InvalidKeyException, IllegalStateException { synchronized (lock) @@ -208,6 +215,7 @@ public abstract class BaseMode } } + @Override public int currentBlockSize() { if (state == -1) @@ -215,6 +223,7 @@ public abstract class BaseMode return modeBlockSize; } + @Override public void reset() { synchronized (lock) @@ -226,6 +235,7 @@ public abstract class BaseMode } } + @Override public boolean selfTest() { int ks; @@ -240,6 +250,7 @@ public abstract class BaseMode return true; } + @Override public abstract Object clone(); /** The initialisation phase of the concrete mode implementation. */ @@ -248,8 +259,10 @@ public abstract class BaseMode /** The termination phase of the concrete mode implementation. */ public abstract void teardown(); + @Override public abstract void encryptBlock(byte[] in, int i, byte[] out, int o); + @Override public abstract void decryptBlock(byte[] in, int i, byte[] out, int o); private boolean testSymmetry(int ks, int bs) diff --git a/gnu/javax/crypto/mode/EAX.java b/gnu/javax/crypto/mode/EAX.java index b3e4a6a4e..910949e87 100644 --- a/gnu/javax/crypto/mode/EAX.java +++ b/gnu/javax/crypto/mode/EAX.java @@ -1,5 +1,5 @@ /* EAX.java -- - Copyright (C) 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2014 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -110,37 +110,44 @@ public class EAX init = false; } + @Override public Object clone() { return new EAX((IBlockCipher) cipher.clone(), cipherBlockSize); } + @Override public String name() { return Registry.EAX_MODE + "(" + cipher.name() + ")"; } + @Override public int defaultBlockSize() { return ctr.defaultBlockSize(); } + @Override public int defaultKeySize() { return ctr.defaultKeySize(); } - public Iterator blockSizes() + @Override + public Iterator<Integer> blockSizes() { return ctr.blockSizes(); } - public Iterator keySizes() + @Override + public Iterator<Integer> keySizes() { return ctr.keySizes(); } - public void init(Map attrib) throws InvalidKeyException + @Override + public void init(Map<String,Object> attrib) throws InvalidKeyException { byte[] nonce = (byte[]) attrib.get(IV); if (nonce == null) @@ -151,7 +158,7 @@ public class EAX Arrays.fill(t_n, (byte) 0); nonceOmac.reset(); - nonceOmac.init(Collections.singletonMap(MAC_KEY_MATERIAL, key)); + nonceOmac.init(Collections.singletonMap(MAC_KEY_MATERIAL, (Object) key)); nonceOmac.update(t_n, 0, t_n.length); nonceOmac.update(nonce, 0, nonce.length); byte[] N = nonceOmac.digest(); @@ -160,16 +167,16 @@ public class EAX nonceOmac.update(nonce, 0, nonce.length); t_n[t_n.length - 1] = 1; headerOmac.reset(); - headerOmac.init(Collections.singletonMap(MAC_KEY_MATERIAL, key)); + headerOmac.init(Collections.singletonMap(MAC_KEY_MATERIAL, (Object) key)); headerOmac.update(t_n, 0, t_n.length); t_n[t_n.length - 1] = 2; msgOmac.reset(); - msgOmac.init(Collections.singletonMap(MAC_KEY_MATERIAL, key)); + msgOmac.init(Collections.singletonMap(MAC_KEY_MATERIAL, (Object) key)); msgOmac.update(t_n, 0, t_n.length); Integer modeSize = (Integer) attrib.get(MODE_BLOCK_SIZE); if (modeSize == null) modeSize = Integer.valueOf(cipherBlockSize); - HashMap ctrAttr = new HashMap(); + HashMap<String,Object> ctrAttr = new HashMap<String,Object>(); ctrAttr.put(KEY_MATERIAL, key); ctrAttr.put(IV, N); ctrAttr.put(STATE, Integer.valueOf(ENCRYPTION)); @@ -196,11 +203,13 @@ public class EAX init = true; } + @Override public int currentBlockSize() { return ctr.currentBlockSize(); } + @Override public void encryptBlock(byte[] in, int inOff, byte[] out, int outOff) { if (! init) @@ -211,6 +220,7 @@ public class EAX msgOmac.update(out, outOff, ctr.currentBlockSize()); } + @Override public void decryptBlock(byte[] in, int inOff, byte[] out, int outOff) { if (! init) @@ -236,6 +246,7 @@ public class EAX } } + @Override public void reset() { nonceOmac.reset(); @@ -244,16 +255,19 @@ public class EAX ctr.reset(); } + @Override public boolean selfTest() { return true; // XXX } + @Override public int macSize() { return tagSize; } + @Override public byte[] digest() { byte[] tag = new byte[tagSize]; @@ -273,6 +287,7 @@ public class EAX reset(); } + @Override public void update(byte b) { if (! init) @@ -280,6 +295,7 @@ public class EAX headerOmac.update(b); } + @Override public void update(byte[] buf, int off, int len) { if (! init) diff --git a/gnu/javax/crypto/prng/Fortuna.java b/gnu/javax/crypto/prng/Fortuna.java index 8aec9ab7d..4d41cad55 100644 --- a/gnu/javax/crypto/prng/Fortuna.java +++ b/gnu/javax/crypto/prng/Fortuna.java @@ -1,5 +1,5 @@ /* Fortuna.java -- The Fortuna PRNG. - Copyright (C) 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2014 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -118,7 +118,8 @@ public class Fortuna buffer = new byte[256]; } - public void setup(Map attributes) + @Override + public void setup(Map<String,Object> attributes) { lastReseed = 0; reseedCount = 0; @@ -227,9 +228,9 @@ public class Fortuna counter = new byte[cipher.defaultBlockSize()]; buffer = new byte[cipher.defaultBlockSize()]; int keysize = 0; - for (Iterator it = cipher.keySizes(); it.hasNext();) + for (Iterator<Integer> it = cipher.keySizes(); it.hasNext();) { - int ks = ((Integer) it.next()).intValue(); + int ks = it.next().intValue(); if (ks > keysize) keysize = ks; if (keysize >= 32) @@ -238,6 +239,7 @@ public class Fortuna key = new byte[keysize]; } + @Override public byte nextByte() { byte[] b = new byte[1]; @@ -245,6 +247,7 @@ public class Fortuna return b[0]; } + @Override public void nextBytes(byte[] out, int offset, int length) { if (! seeded) @@ -275,11 +278,13 @@ public class Fortuna ndx = 0; } + @Override public void addRandomByte(byte b) { addRandomBytes(new byte[] { b }); } + @Override public void addRandomBytes(byte[] seed, int offset, int length) { hash.update(key); @@ -291,6 +296,7 @@ public class Fortuna seeded = true; } + @Override public void fillBlock() { if (! seeded) @@ -299,7 +305,8 @@ public class Fortuna incrementCounter(); } - public void setup(Map attributes) + @Override + public void setup(Map<String,Object> attributes) { seeded = false; Arrays.fill(key, (byte) 0); @@ -319,7 +326,7 @@ public class Fortuna try { cipher.reset(); - cipher.init(Collections.singletonMap(IBlockCipher.KEY_MATERIAL, key)); + cipher.init(Collections.singletonMap(IBlockCipher.KEY_MATERIAL, (Object) key)); } // We expect to never get an exception here. catch (InvalidKeyException ike) diff --git a/gnu/javax/net/ssl/Session.java b/gnu/javax/net/ssl/Session.java index 3acf9932d..bfa94c29a 100644 --- a/gnu/javax/net/ssl/Session.java +++ b/gnu/javax/net/ssl/Session.java @@ -1,5 +1,5 @@ /* SessionImpl.java -- concrete definition of SSLSession. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2014 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -286,7 +286,7 @@ public abstract class Session implements SSLSession, Serializable /** * An SSL or TLS session ID. */ - public static final class ID implements Comparable, Serializable + public static final class ID implements Comparable<ID>, Serializable { // Fields. @@ -319,6 +319,7 @@ public abstract class Session implements SSLSession, Serializable return (byte[]) id.clone(); } + @Override public boolean equals(Object other) { if (!(other instanceof ID)) @@ -326,6 +327,7 @@ public abstract class Session implements SSLSession, Serializable return Arrays.equals(id, ((ID) other).id); } + @Override public int hashCode() { int code = 0; @@ -334,9 +336,10 @@ public abstract class Session implements SSLSession, Serializable return code; } - public int compareTo(Object other) + @Override + public int compareTo(ID other) { - byte[] id2 = ((ID) other).id; + byte[] id2 = other.id; if (id.length != id2.length) return (id.length < id2.length) ? -1 : 1; for (int i = 0; i < id.length; i++) @@ -349,6 +352,7 @@ public abstract class Session implements SSLSession, Serializable return 0; } + @Override public String toString() { CPStringBuilder str = new CPStringBuilder (3 * id.length + 1); diff --git a/gnu/javax/net/ssl/provider/AbstractHandshake.java b/gnu/javax/net/ssl/provider/AbstractHandshake.java index bf03ed77f..dbbd92962 100644 --- a/gnu/javax/net/ssl/provider/AbstractHandshake.java +++ b/gnu/javax/net/ssl/provider/AbstractHandshake.java @@ -1,5 +1,5 @@ /* AbstractHandshake.java -- abstract handshake handler. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2014 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -588,7 +588,7 @@ Certificate.signature.sha_hash clientRandom.buffer().get(seed, serverRandom.length(), clientRandom.length()); prf = new SSLRandom(); - HashMap<String,byte[]> attr = new HashMap<String,byte[]>(2); + HashMap<String,Object> attr = new HashMap<String,Object>(2); attr.put(SSLRandom.SECRET, session.privateData.masterSecret); attr.put(SSLRandom.SEED, seed); prf.init(attr); @@ -606,7 +606,7 @@ Certificate.signature.sha_hash clientRandom.length()); prf = new TLSRandom(); - HashMap<String,byte[]> attr = new HashMap<String,byte[]>(2); + HashMap<String,Object> attr = new HashMap<String,Object>(2); attr.put(TLSRandom.SECRET, session.privateData.masterSecret); attr.put(TLSRandom.SEED, seed); prf.init(attr); @@ -650,7 +650,7 @@ Certificate.signature.sha_hash else { TLSRandom prf2 = new TLSRandom(); - HashMap<String,byte[]> attr = new HashMap<String,byte[]>(2); + HashMap<String,Object> attr = new HashMap<String,Object>(2); attr.put(TLSRandom.SECRET, keys[2]); byte[] seed = new byte[CLIENT_WRITE_KEY.length + clientRandom.length() + @@ -910,7 +910,7 @@ Certificate.signature.sha_hash MASTER_SECRET.length + clientRandom.length(), serverRandom.length()); TLSRandom prf = new TLSRandom(); - HashMap<String,byte[]> attr = new HashMap<String,byte[]>(2); + HashMap<String,Object> attr = new HashMap<String,Object>(2); attr.put(TLSRandom.SECRET, preMasterSecret); attr.put(TLSRandom.SEED, seed); prf.init(attr); diff --git a/gnu/javax/net/ssl/provider/SSLRandom.java b/gnu/javax/net/ssl/provider/SSLRandom.java index 0b28f1044..68da1bf52 100644 --- a/gnu/javax/net/ssl/provider/SSLRandom.java +++ b/gnu/javax/net/ssl/provider/SSLRandom.java @@ -1,5 +1,5 @@ /* SSLRandom.java -- SSLv3 pseudo-random function. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2014 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -72,7 +72,8 @@ class SSLRandom implements IRandom // Instance methods. // ------------------------------------------------------------------------- - public void init(Map attrib) + @Override + public void init(Map<String,Object> attrib) { secret = (byte[]) attrib.get(SECRET); seed = (byte[]) attrib.get(SEED); @@ -90,11 +91,13 @@ class SSLRandom implements IRandom return "SSLRandom"; } + @Override public Object clone() { throw new UnsupportedOperationException(); } + @Override public byte nextByte() throws LimitReachedException { if (buffer == null) @@ -104,6 +107,7 @@ class SSLRandom implements IRandom return buffer[idx++]; } + @Override public void nextBytes(byte[] buf, int off, int len) throws LimitReachedException { @@ -131,14 +135,17 @@ class SSLRandom implements IRandom } // For future versions of GNU Crypto. No-ops. + @Override public void addRandomByte (byte b) { } + @Override public void addRandomBytes(byte[] buffer) { addRandomBytes(buffer, 0, buffer.length); } + @Override public void addRandomBytes (byte[] b, int i, int j) { } diff --git a/gnu/javax/net/ssl/provider/TLSRandom.java b/gnu/javax/net/ssl/provider/TLSRandom.java index ded632928..f438d7729 100644 --- a/gnu/javax/net/ssl/provider/TLSRandom.java +++ b/gnu/javax/net/ssl/provider/TLSRandom.java @@ -1,5 +1,5 @@ /* TLSRandom.java -- The TLS pseudo-random function. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2014 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -62,8 +62,8 @@ class TLSRandom implements IRandom */ static final String SEED = "jessie.tls.prng.seed"; - private final IMac hmac_sha, hmac_md5; - private byte[] sha_a, md5_a; + private final IMac hmacSHA, hmacMD5; + private byte[] shaA, md5A; private byte[] seed; private final byte[] buffer; private int idx; @@ -74,8 +74,8 @@ class TLSRandom implements IRandom TLSRandom() { - hmac_sha = new TLSHMac(HashFactory.getInstance("SHA1")); - hmac_md5 = new TLSHMac(HashFactory.getInstance("MD5")); + hmacSHA = new TLSHMac(HashFactory.getInstance("SHA1")); + hmacMD5 = new TLSHMac(HashFactory.getInstance("MD5")); buffer = new byte[80]; // 80 == LCM of 16 and 20. idx = 0; init = false; @@ -84,6 +84,7 @@ class TLSRandom implements IRandom // Instance methods. // ------------------------------------------------------------------------- + @Override public Object clone() { try @@ -96,22 +97,22 @@ class TLSRandom implements IRandom } } - public void init(Map attributes) + public void init(Map<String,Object> attributes) { - HashMap sha_attr = new HashMap(); - HashMap md5_attr = new HashMap(); + HashMap<String,Object> shaAttr = new HashMap<String,Object>(); + HashMap<String,Object> md5Attr = new HashMap<String,Object>(); byte[] secret = (byte[]) attributes.get(SECRET); if (secret != null) { int l = (secret.length >>> 1) + (secret.length & 1); byte[] s1 = Util.trim(secret, 0, l); byte[] s2 = Util.trim(secret, secret.length - l, l); - md5_attr.put(IMac.MAC_KEY_MATERIAL, s1); - sha_attr.put(IMac.MAC_KEY_MATERIAL, s2); + md5Attr.put(IMac.MAC_KEY_MATERIAL, s1); + shaAttr.put(IMac.MAC_KEY_MATERIAL, s2); try { - hmac_md5.init(md5_attr); - hmac_sha.init(sha_attr); + hmacMD5.init(md5Attr); + hmacSHA.init(shaAttr); } catch (InvalidKeyException ike) { @@ -136,21 +137,23 @@ class TLSRandom implements IRandom // else re-use // A(0) is the seed, A(1) = HMAC_hash(secret, A(0)). - hmac_md5.update(seed, 0, seed.length); - md5_a = hmac_md5.digest(); - hmac_md5.reset(); - hmac_sha.update(seed, 0, seed.length); - sha_a = hmac_sha.digest(); - hmac_sha.reset(); + hmacMD5.update(seed, 0, seed.length); + md5A = hmacMD5.digest(); + hmacMD5.reset(); + hmacSHA.update(seed, 0, seed.length); + shaA = hmacSHA.digest(); + hmacSHA.reset(); fillBuffer(); init = true; } + @Override public String name() { return "TLSRandom"; } + @Override public byte nextByte() { if (!init) @@ -160,6 +163,7 @@ class TLSRandom implements IRandom return buffer[idx++]; } + @Override public void nextBytes(byte[] buf, int off, int len) { if (!init) @@ -183,14 +187,17 @@ class TLSRandom implements IRandom } // For future versions of GNU Crypto. No-ops. + @Override public void addRandomByte (byte b) { } + @Override public void addRandomBytes(byte[] buffer) { addRandomBytes(buffer, 0, buffer.length); } + @Override public void addRandomBytes (byte[] b, int i, int j) { } @@ -220,32 +227,32 @@ class TLSRandom implements IRandom */ private synchronized void fillBuffer() { - int len = hmac_md5.macSize(); + int len = hmacMD5.macSize(); for (int i = 0; i < buffer.length; i += len) { - hmac_md5.update(md5_a, 0, md5_a.length); - hmac_md5.update(seed, 0, seed.length); - byte[] b = hmac_md5.digest(); - hmac_md5.reset(); + hmacMD5.update(md5A, 0, md5A.length); + hmacMD5.update(seed, 0, seed.length); + byte[] b = hmacMD5.digest(); + hmacMD5.reset(); System.arraycopy(b, 0, buffer, i, len); - hmac_md5.update(md5_a, 0, md5_a.length); - md5_a = hmac_md5.digest(); - hmac_md5.reset(); + hmacMD5.update(md5A, 0, md5A.length); + md5A = hmacMD5.digest(); + hmacMD5.reset(); } - len = hmac_sha.macSize(); + len = hmacSHA.macSize(); for (int i = 0; i < buffer.length; i += len) { - hmac_sha.update(sha_a, 0, sha_a.length); - hmac_sha.update(seed, 0, seed.length); - byte[] b = hmac_sha.digest(); - hmac_sha.reset(); + hmacSHA.update(shaA, 0, shaA.length); + hmacSHA.update(seed, 0, seed.length); + byte[] b = hmacSHA.digest(); + hmacSHA.reset(); for (int j = 0; j < len; j++) { buffer[j + i] ^= b[j]; } - hmac_sha.update(sha_a, 0, sha_a.length); - sha_a = hmac_sha.digest(); - hmac_sha.reset(); + hmacSHA.update(shaA, 0, shaA.length); + shaA = hmacSHA.digest(); + hmacSHA.reset(); } idx = 0; } diff --git a/gnu/javax/net/ssl/provider/Util.java b/gnu/javax/net/ssl/provider/Util.java index a2004b7aa..a79a2cc8b 100644 --- a/gnu/javax/net/ssl/provider/Util.java +++ b/gnu/javax/net/ssl/provider/Util.java @@ -1,5 +1,5 @@ /* Util.java -- Miscellaneous utility methods. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2014 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -419,14 +419,14 @@ public final class Util * each element of <i>array</i> with <i>args</i>. The return type * of the array will be an array of <i>returnType</i>. */ - static Object[] transform(Object[] array, Class returnType, - String method, Object[] args) + static <T> T[] transform(Object[] array, Class<T> returnType, + String method, Object[] args) throws InvocationTargetException, NoSuchMethodException, IllegalAccessException { if (args == null) args = new Object[0]; - Object[] result = (Object[]) Array.newInstance(returnType, array.length); + T[] result = (T[]) Array.newInstance(returnType, array.length); Class[] argsClasses = new Class[args.length]; for (int i = 0; i < args.length; i++) { @@ -444,7 +444,7 @@ public final class Util Object o = objMethod.invoke(array[i], args); if (!returnType.isAssignableFrom(o.getClass())) throw new ClassCastException(); - result[i] = o; + result[i] = returnType.cast(o); } return result; } diff --git a/gnu/javax/net/ssl/provider/X509KeyManagerFactory.java b/gnu/javax/net/ssl/provider/X509KeyManagerFactory.java index a63cb2cbe..44fb37e1f 100644 --- a/gnu/javax/net/ssl/provider/X509KeyManagerFactory.java +++ b/gnu/javax/net/ssl/provider/X509KeyManagerFactory.java @@ -1,5 +1,5 @@ /* X509KeyManagerFactory.java -- X.509 key manager factory. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2014 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -75,6 +75,7 @@ import javax.net.ssl.KeyManagerFactorySpi; import javax.net.ssl.ManagerFactoryParameters; import javax.net.ssl.SSLEngine; import javax.net.ssl.X509ExtendedKeyManager; + import gnu.javax.net.ssl.NullManagerParameters; import gnu.javax.net.ssl.PrivateCredentials; @@ -113,9 +114,13 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi protected void engineInit(ManagerFactoryParameters params) throws InvalidAlgorithmParameterException { + Map<String, X509Certificate[]> certMap; + Map<String, PrivateKey> keyMap; + if (params instanceof NullManagerParameters) { - current = new Manager(Collections.EMPTY_MAP, Collections.EMPTY_MAP); + certMap = Collections.emptyMap(); + keyMap = Collections.emptyMap(); } else if (params instanceof PrivateCredentials) { @@ -124,10 +129,8 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi List<PrivateKey> keys = ((PrivateCredentials) params).getPrivateKeys(); int i = 0; - HashMap<String, X509Certificate[]> certMap - = new HashMap<String, X509Certificate[]>(); - HashMap<String, PrivateKey> keyMap - = new HashMap<String, PrivateKey>(); + certMap = new HashMap<String, X509Certificate[]>(); + keyMap = new HashMap<String, PrivateKey>(); Iterator<X509Certificate[]> c = chains.iterator(); Iterator<PrivateKey> k = keys.iterator(); while (c.hasNext() && k.hasNext()) @@ -136,12 +139,12 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi keyMap.put(String.valueOf(i), k.next()); i++; } - current = new Manager(keyMap, certMap); } else { throw new InvalidAlgorithmParameterException(); } + current = new Manager(keyMap, certMap); } protected void engineInit(KeyStore store, char[] passwd) @@ -175,11 +178,11 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi HashMap<String, PrivateKey> p = new HashMap<String, PrivateKey>(); HashMap<String, X509Certificate[]> c = new HashMap<String, X509Certificate[]>(); - Enumeration aliases = store.aliases(); + Enumeration<String> aliases = store.aliases(); UnrecoverableKeyException exception = null; while (aliases.hasMoreElements()) { - String alias = (String) aliases.nextElement(); + String alias = aliases.nextElement(); if (!store.isKeyEntry(alias)) { continue; @@ -316,9 +319,9 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi private String[] getAliases(String keyType, Principal[] issuers) { LinkedList<String> l = new LinkedList<String>(); - for (Iterator i = privateKeys.keySet().iterator(); i.hasNext(); ) + for (Iterator<String> i = privateKeys.keySet().iterator(); i.hasNext(); ) { - String alias = (String) i.next(); + String alias = i.next(); X509Certificate[] chain = getCertificateChain(alias); if (chain.length == 0) continue; diff --git a/gnu/javax/net/ssl/provider/X509TrustManagerFactory.java b/gnu/javax/net/ssl/provider/X509TrustManagerFactory.java index ddd2f9c8b..eab53ac43 100644 --- a/gnu/javax/net/ssl/provider/X509TrustManagerFactory.java +++ b/gnu/javax/net/ssl/provider/X509TrustManagerFactory.java @@ -1,5 +1,5 @@ /* X509TrustManagerFactory.java -- X.509 trust manager factory. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2014 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -183,10 +183,10 @@ public class X509TrustManagerFactory extends TrustManagerFactorySpi } LinkedList<X509Certificate> l = new LinkedList<X509Certificate>(); - Enumeration aliases = store.aliases(); + Enumeration<String> aliases = store.aliases(); while (aliases.hasMoreElements()) { - String alias = (String) aliases.nextElement(); + String alias = aliases.nextElement(); if (!store.isCertificateEntry(alias)) continue; Certificate c = store.getCertificate(alias); diff --git a/gnu/javax/security/auth/callback/AWTCallbackHandler.java b/gnu/javax/security/auth/callback/AWTCallbackHandler.java index f241157ee..5aad0335d 100644 --- a/gnu/javax/security/auth/callback/AWTCallbackHandler.java +++ b/gnu/javax/security/auth/callback/AWTCallbackHandler.java @@ -1,5 +1,5 @@ /* AWTCallbackHandler.java -- - Copyright (C) 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2014 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -77,10 +77,8 @@ public class AWTCallbackHandler extends AbstractCallbackHandler protected String actionCommand; private static final String ACTION_CANCEL = "CANCEL"; - private static final String ACTION_NO = "NO"; private static final String ACTION_NONE = "NONE"; private static final String ACTION_OK = "OK"; - private static final String ACTION_YES = "YES"; // Constructor. // ------------------------------------------------------------------------- @@ -126,7 +124,7 @@ public class AWTCallbackHandler extends AbstractCallbackHandler buttons.add(ok); dialog.add(buttons, BorderLayout.SOUTH); dialog.pack(); - dialog.show(); + dialog.setVisible(true); try { wait(); } catch (InterruptedException ie) { } if (actionCommand.equals(ACTION_OK)) @@ -217,7 +215,7 @@ public class AWTCallbackHandler extends AbstractCallbackHandler buttons.add(b); } dialog.pack(); - dialog.show(); + dialog.setVisible(true); try { wait(); } catch (InterruptedException ie) { } for (int i = 0; i < choices.length; i++) @@ -307,7 +305,7 @@ public class AWTCallbackHandler extends AbstractCallbackHandler buttons.add(cancel); dialog.add(buttons); dialog.pack(); - dialog.show(); + dialog.setVisible(true); try { wait(); } catch (InterruptedException ie) { } if (actionCommand.equals(ACTION_OK)) @@ -344,7 +342,7 @@ public class AWTCallbackHandler extends AbstractCallbackHandler buttons.add(cancel); dialog.add(buttons); dialog.pack(); - dialog.show(); + dialog.setVisible(true); try { wait(); } catch (InterruptedException ie) { } if (actionCommand.equals(ACTION_OK)) @@ -381,7 +379,7 @@ public class AWTCallbackHandler extends AbstractCallbackHandler buttons.add(cancel); dialog.add(buttons, BorderLayout.SOUTH); dialog.pack(); - dialog.show(); + dialog.setVisible(true); try { wait(); } catch (InterruptedException ie) { } if (actionCommand.equals(ACTION_OK)) @@ -420,7 +418,7 @@ public class AWTCallbackHandler extends AbstractCallbackHandler dialog.add(label); dialog.add(buttons); dialog.pack(); - dialog.show(); + dialog.setVisible(true); try { wait(); } catch (InterruptedException ie) { } dialog.dispose(); diff --git a/gnu/javax/security/auth/callback/ConsoleCallbackHandler.java b/gnu/javax/security/auth/callback/ConsoleCallbackHandler.java index 4c24ab808..bb25ca049 100644 --- a/gnu/javax/security/auth/callback/ConsoleCallbackHandler.java +++ b/gnu/javax/security/auth/callback/ConsoleCallbackHandler.java @@ -1,5 +1,5 @@ /* ConsoleCallbackHandler.java -- - Copyright (C) 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2014 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -124,7 +124,7 @@ public class ConsoleCallbackHandler extends AbstractCallbackHandler } else { - TreeSet indices = new TreeSet(); + TreeSet<Integer> indices = new TreeSet<Integer>(); StringTokenizer tok = new StringTokenizer(reply, ","); String[] replies = new String[tok.countTokens()]; int idx = 0; @@ -146,7 +146,7 @@ public class ConsoleCallbackHandler extends AbstractCallbackHandler { int[] ii = new int[indices.size()]; int i = 0; - for (Iterator it = indices.iterator(); it.hasNext(); ) + for (Iterator<Integer> it = indices.iterator(); it.hasNext(); ) ii[i++] = ((Integer) it.next()).intValue(); c.setSelectedIndexes(ii); } diff --git a/gnu/javax/security/auth/callback/GnuCallbacks.java b/gnu/javax/security/auth/callback/GnuCallbacks.java index 9fd72f926..810452010 100644 --- a/gnu/javax/security/auth/callback/GnuCallbacks.java +++ b/gnu/javax/security/auth/callback/GnuCallbacks.java @@ -1,5 +1,5 @@ /* GnuCallbacks.java -- Provider for callback implementations. - Copyright (C) 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2014 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -44,13 +44,16 @@ import java.security.Provider; public final class GnuCallbacks extends Provider { + + private static final long serialVersionUID = -5978562213558760614L; + public GnuCallbacks() { super("GNU-CALLBACKS", 2.1, "Implementations of various callback handlers."); - AccessController.doPrivileged(new PrivilegedAction() + AccessController.doPrivileged(new PrivilegedAction<Void>() { - public Object run() + public Void run() { put("CallbackHandler.Default", DefaultCallbackHandler.class.getName()); put("CallbackHandler.Console", ConsoleCallbackHandler.class.getName()); diff --git a/gnu/javax/security/auth/login/ConfigFileParser.java b/gnu/javax/security/auth/login/ConfigFileParser.java index bebd036f9..e86e4a8c6 100644 --- a/gnu/javax/security/auth/login/ConfigFileParser.java +++ b/gnu/javax/security/auth/login/ConfigFileParser.java @@ -1,5 +1,5 @@ /* ConfigFileParser.java -- JAAS Login Configuration default syntax parser - Copyright (C) 2006, 2010 Free Software Foundation, Inc. + Copyright (C) 2006, 2010, 2014 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -95,7 +95,8 @@ public final class ConfigFileParser Logger.getLogger(ConfigFileParser.class.getName()) : null; private ConfigFileTokenizer cft; - private final Map map = new HashMap(); + private final Map<String,List<AppConfigurationEntry>> map = + new HashMap<String,List<AppConfigurationEntry>>(); // default 0-arguments constructor @@ -106,7 +107,7 @@ public final class ConfigFileParser * encountered, for that application name in the just parsed configuration * file. */ - public Map getLoginModulesMap() + public Map<String,List<AppConfigurationEntry>> getLoginModulesMap() { return map; } @@ -159,7 +160,7 @@ public final class ConfigFileParser if (cft.nextToken() != '{') abort("Missing '{' after APP_NAME_OR_OTHER"); - List lmis = new ArrayList(); + List<AppConfigurationEntry> lmis = new ArrayList<AppConfigurationEntry>(); while (parseACE(lmis)) { /* do nothing */ @@ -173,10 +174,10 @@ public final class ConfigFileParser if (c != ';') abort("Was expecting ';' but found " + (char) c); - List listOfACEs = (List) map.get(appName); + List<AppConfigurationEntry> listOfACEs = map.get(appName); if (listOfACEs == null) { - listOfACEs = new ArrayList(); + listOfACEs = new ArrayList<AppConfigurationEntry>(); map.put(appName, listOfACEs); } listOfACEs.addAll(lmis); @@ -188,7 +189,8 @@ public final class ConfigFileParser * Returns <code>false</code> otherwise. * @throws IOException if an exception occurs while parsing the input. */ - private boolean parseACE(List listOfACEs) throws IOException + private boolean parseACE(List<AppConfigurationEntry> listOfACEs) + throws IOException { int c = cft.nextToken(); if (c != ConfigFileTokenizer.TT_WORD) @@ -219,7 +221,7 @@ public final class ConfigFileParser else abort("Unknown Flag: " + flag); - Map options = new HashMap(); + Map<String,String> options = new HashMap<String,String>(); String paramName, paramValue; c = cft.nextToken(); while (c != ';') diff --git a/gnu/javax/security/auth/login/GnuConfiguration.java b/gnu/javax/security/auth/login/GnuConfiguration.java index 6afe1cd19..b7c3b5a44 100644 --- a/gnu/javax/security/auth/login/GnuConfiguration.java +++ b/gnu/javax/security/auth/login/GnuConfiguration.java @@ -1,5 +1,5 @@ /* GnuConfiguration.java -- GNU Classpath implementation of JAAS Configuration - Copyright (C) 2006, 2010 Free Software Foundation, Inc. + Copyright (C) 2006, 2010, 2014 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -47,7 +47,6 @@ import java.net.MalformedURLException; import java.net.URL; import java.security.Security; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.logging.Logger; @@ -136,7 +135,7 @@ public final class GnuConfiguration extends Configuration * this map is a {@link List} of {@link AppConfigurationEntry}s for that * application name. */ - private Map loginModulesMap; + private Map<String,List<AppConfigurationEntry>> loginModulesMap; /** Our reference to our default syntax parser. */ private ConfigFileParser cp; @@ -148,7 +147,7 @@ public final class GnuConfiguration extends Configuration { super(); - loginModulesMap = new HashMap(); + loginModulesMap = new HashMap<String,List<AppConfigurationEntry>>(); cp = new ConfigFileParser(); init(); } @@ -173,13 +172,13 @@ public final class GnuConfiguration extends Configuration if (appName.length() == 0) return null; - List loginModules = (List) loginModulesMap.get(appName); + List<AppConfigurationEntry> loginModules = loginModulesMap.get(appName); if (loginModules == null || loginModules.size() == 0) return null; if (gnu.java.security.Configuration.DEBUG) log.fine(appName + " -> " + loginModules.size() + " entry(ies)"); - return (AppConfigurationEntry[]) loginModules.toArray(new AppConfigurationEntry[0]); + return loginModules.toArray(new AppConfigurationEntry[loginModules.size()]); } /** @@ -241,7 +240,7 @@ public final class GnuConfiguration extends Configuration * <i>java.security.auth.login.config.url.N</i>. * * @return <code>true</code> if it succeeds, and <code>false</code> - * otherwsie. + * otherwise. */ private boolean processSecurityProperties() { @@ -386,23 +385,23 @@ public final class GnuConfiguration extends Configuration private void parseConfig(InputStream configStream) throws IOException { cp.parse(new InputStreamReader(configStream, "UTF-8")); - Map loginModulesMap = cp.getLoginModulesMap(); + Map<String,List<AppConfigurationEntry>> loginModulesMap = cp.getLoginModulesMap(); mergeLoginModules(loginModulesMap); } - private void mergeLoginModules(Map otherLoginModules) + private void mergeLoginModules(Map<String,List<AppConfigurationEntry>> otherLoginModules) { if (otherLoginModules == null || otherLoginModules.size() < 1) return; - for (Iterator it = otherLoginModules.keySet().iterator(); it.hasNext();) + for (Map.Entry<String,List<AppConfigurationEntry>> entry : otherLoginModules.entrySet()) { - String appName = (String) it.next(); - List thatListOfACEs = (List) otherLoginModules.get(appName); + String appName = entry.getKey(); + List<AppConfigurationEntry> thatListOfACEs = entry.getValue(); if (thatListOfACEs == null || thatListOfACEs.size() < 1) continue; - List thisListsOfACEs = (List) loginModulesMap.get(appName); + List<AppConfigurationEntry> thisListsOfACEs = loginModulesMap.get(appName); if (thisListsOfACEs == null) loginModulesMap.put(appName, thatListOfACEs); else |