diff options
Diffstat (limited to 'gnu/java')
96 files changed, 733 insertions, 357 deletions
diff --git a/gnu/java/security/OID.java b/gnu/java/security/OID.java index c6b977e00..2a5355490 100644 --- a/gnu/java/security/OID.java +++ b/gnu/java/security/OID.java @@ -1,5 +1,5 @@ /* OID.java -- numeric representation of an object identifier - Copyright (C) 2003, 2004, 2005, 2006, 2014 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005, 2006, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -125,7 +125,7 @@ public class OID implements Cloneable, Comparable<OID>, java.io.Serializable { if (components == null || components.length == 0) throw new IllegalArgumentException(); - this.components = (int[]) components.clone(); + this.components = components.clone(); this.relative = relative; } @@ -221,7 +221,7 @@ public class OID implements Cloneable, Comparable<OID>, java.io.Serializable */ public OID(byte[] encoded, boolean relative) throws IOException { - der = (byte[]) encoded.clone(); + der = encoded.clone(); this.relative = relative; try { @@ -245,7 +245,7 @@ public class OID implements Cloneable, Comparable<OID>, java.io.Serializable */ public int[] getIDs() { - return (int[]) components.clone(); + return components.clone(); } /** @@ -269,7 +269,7 @@ public class OID implements Cloneable, Comparable<OID>, java.io.Serializable encodeSubID(bout, components[i]); der = bout.toByteArray(); } - return (byte[]) der.clone(); + return der.clone(); } /** @@ -321,6 +321,7 @@ public class OID implements Cloneable, Comparable<OID>, java.io.Serializable * * @return The copy. */ + @Override public Object clone() { try @@ -355,21 +356,19 @@ public class OID implements Cloneable, Comparable<OID>, java.io.Serializable * * @return The string representation. */ + @Override public String toString() { if (strRep != null) return strRep; - else + CPStringBuilder buf = new CPStringBuilder(); + for (int i = 0; i < components.length; i++) { - CPStringBuilder buf = new CPStringBuilder(); - for (int i = 0; i < components.length; i++) - { - buf.append((long) components[i] & 0xFFFFFFFFL); - if (i < components.length - 1) - buf.append('.'); - } - return (strRep = buf.toString()); + buf.append(components[i] & 0xFFFFFFFFL); + if (i < components.length - 1) + buf.append('.'); } + return (strRep = buf.toString()); } /** @@ -377,6 +376,7 @@ public class OID implements Cloneable, Comparable<OID>, java.io.Serializable * * @return The hash code. */ + @Override public int hashCode() { int ret = 0; @@ -390,6 +390,7 @@ public class OID implements Cloneable, Comparable<OID>, java.io.Serializable * * @return Whether or not this OID equals the other. */ + @Override public boolean equals(Object o) { if (!(o instanceof OID)) @@ -410,6 +411,7 @@ public class OID implements Cloneable, Comparable<OID>, java.io.Serializable * argument. * @throws ClassCastException If <i>o</i> is not an OID. */ + @Override public int compareTo(OID o) { if (equals(o)) diff --git a/gnu/java/security/PolicyFile.java b/gnu/java/security/PolicyFile.java index 96957b0ed..ff066c29d 100644 --- a/gnu/java/security/PolicyFile.java +++ b/gnu/java/security/PolicyFile.java @@ -1,5 +1,5 @@ /* PolicyFile.java -- policy file reader - Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -176,6 +176,7 @@ public final class PolicyFile extends Policy // Instance methods. // ------------------------------------------------------------------------- + @Override public PermissionCollection getPermissions(CodeSource codeSource) { Permissions perms = new Permissions(); @@ -201,6 +202,7 @@ public final class PolicyFile extends Policy return perms; } + @Override public void refresh() { cs2pc.clear(); @@ -213,6 +215,7 @@ public final class PolicyFile extends Policy AccessController.doPrivileged( new PrivilegedExceptionAction<Void>() { + @Override public Void run() throws Exception { String allow = Security.getProperty ("policy.allowSystemProperty"); @@ -270,6 +273,7 @@ public final class PolicyFile extends Policy } } + @Override public String toString() { return super.toString() + " [ " + cs2pc.toString() + " ]"; @@ -290,6 +294,7 @@ public final class PolicyFile extends Policy * @throws IOException if an I/O error occurs, or if the policy file * cannot be parsed. */ + @SuppressWarnings("null") // Exception is thrown if p == null private void parse(final URL url) throws IOException { logger.log (Component.POLICY, "reading policy file from {0}", url); @@ -343,6 +348,7 @@ public final class PolicyFile extends Policy if (tok != ';') in.pushBack(); continue; + default: // do nothing } if (tok != StreamTokenizer.TT_WORD) { @@ -376,7 +382,7 @@ public final class PolicyFile extends Policy } catch (Exception x) { - error(url, in, x.toString()); + error(url, in, x); } } else if (in.sval.equalsIgnoreCase("grant")) @@ -408,7 +414,7 @@ public final class PolicyFile extends Policy } catch (KeyStoreException kse) { - error(url, in, kse.toString()); + error(url, in, kse); } } } @@ -436,7 +442,7 @@ public final class PolicyFile extends Policy } catch (MalformedURLException mue) { - error(url, in, mue.toString()); + error(url, in, mue); } tok = in.nextToken(); if (tok != ',') @@ -463,8 +469,9 @@ public final class PolicyFile extends Policy } catch (Exception x) { - error(url, in, x.toString()); + error(url, in, x); } + if (p == null) error(url, in, "Principal object not created"); for (Iterator<KeyStore> it = keystores.iterator(); it.hasNext(); ) { KeyStore ks = it.next(); @@ -479,14 +486,14 @@ public final class PolicyFile extends Policy if (!(cert instanceof X509Certificate)) continue; if (p.equals(((X509Certificate) cert).getSubjectDN()) || - p.equals(((X509Certificate) cert).getSubjectX500Principal())) + p.equals(((X509Certificate) cert).getSubjectX500Principal())) currentCerts.add(cert); } } } catch (KeyStoreException kse) { - error(url, in, kse.toString()); + error(url, in, kse); } } } @@ -503,7 +510,7 @@ public final class PolicyFile extends Policy } catch (KeyStoreException kse) { - error(url, in, kse.toString()); + error(url, in, kse); } } } @@ -535,7 +542,7 @@ public final class PolicyFile extends Policy if (clazz == null) { currentPerms.add(new UnresolvedPermission(className, - null, null, (Certificate[]) currentCerts.toArray(new Certificate[currentCerts.size()]))); + null, null, currentCerts.toArray(new Certificate[currentCerts.size()]))); continue; } try @@ -544,7 +551,7 @@ public final class PolicyFile extends Policy } catch (Exception x) { - error(url, in, x.toString()); + error(url, in, x); } continue; } @@ -557,7 +564,7 @@ public final class PolicyFile extends Policy if (clazz == null) { currentPerms.add(new UnresolvedPermission(className, - target, null, (Certificate[]) currentCerts.toArray(new Certificate[currentCerts.size()]))); + target, null, currentCerts.toArray(new Certificate[currentCerts.size()]))); continue; } try @@ -569,7 +576,7 @@ public final class PolicyFile extends Policy } catch (Exception x) { - error(url, in, x.toString()); + error(url, in, x); } continue; } @@ -589,7 +596,7 @@ public final class PolicyFile extends Policy } catch (Exception x) { - error(url, in, x.toString()); + error(url, in, x); } in.pushBack(); continue; @@ -603,20 +610,17 @@ public final class PolicyFile extends Policy target, action, (currentCerts.toArray(new Certificate[currentCerts.size()])))); continue; } - else - { - try - { - Constructor<?> c = clazz.getConstructor( - new Class[] { String.class, String.class }); - currentPerms.add((Permission) c.newInstance( - new Object[] { target, action })); - } - catch (Exception x) - { - error(url, in, x.toString()); - } - } + try + { + Constructor<?> c = clazz.getConstructor( + new Class[] { String.class, String.class }); + currentPerms.add((Permission) c.newInstance( + new Object[] { target, action })); + } + catch (Exception x) + { + error(url, in, x); + } tok = in.nextToken(); if (tok != ';' && tok != ',') error(url, in, "expecting ';' or ','"); @@ -631,7 +635,7 @@ public final class PolicyFile extends Policy private static String expand(final String s) { final CPStringBuilder result = new CPStringBuilder(); - final CPStringBuilder prop = new CPStringBuilder(); + final CPStringBuilder propBuf = new CPStringBuilder(); int state = 0; for (int i = 0; i < s.length(); i++) { @@ -655,32 +659,41 @@ public final class PolicyFile extends Policy case 2: if (s.charAt(i) == '}') { - String p = prop.toString(); + String p = propBuf.toString(); if (p.equals("/")) p = "file.separator"; p = System.getProperty(p); if (p == null) p = ""; result.append(p); - prop.setLength(0); + propBuf.setLength(0); state = 0; } else - prop.append(s.charAt(i)); + propBuf.append(s.charAt(i)); break; + default: + // State is never set to anything else } } if (state != 0) - result.append('$').append('{').append(prop); + result.append('$').append('{').append(propBuf); return result.toString(); } /** * I miss macros. */ + private static void error(URL base, StreamTokenizer in, Throwable cause) + throws IOException + { + throw new IOException(base+":"+in.lineno()+": "+cause.toString(), cause); + } + private static void error(URL base, StreamTokenizer in, String msg) throws IOException { throw new IOException(base+":"+in.lineno()+": "+msg); } + } diff --git a/gnu/java/security/Properties.java b/gnu/java/security/Properties.java index 7a664fc74..2ecb87a06 100644 --- a/gnu/java/security/Properties.java +++ b/gnu/java/security/Properties.java @@ -1,5 +1,5 @@ /* Properties.java -- run-time configuration properties. - Copyright (C) 2003, 2004, 2006, 2010, 2014 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2006, 2010, 2014, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -312,14 +312,14 @@ public final class Properties handleBooleanProperty(CHECK_WEAK_KEYS); handleBooleanProperty(DO_RSA_BLINDING); // re-sync the 'known' properties - reproducible = Boolean.valueOf((String) props.get(REPRODUCIBLE_PRNG)).booleanValue(); - checkForWeakKeys = Boolean.valueOf((String) props.get(CHECK_WEAK_KEYS)).booleanValue(); - doRSABlinding = Boolean.valueOf((String) props.get(DO_RSA_BLINDING)).booleanValue(); + reproducible = Boolean.valueOf(props.get(REPRODUCIBLE_PRNG)).booleanValue(); + checkForWeakKeys = Boolean.valueOf(props.get(CHECK_WEAK_KEYS)).booleanValue(); + doRSABlinding = Boolean.valueOf(props.get(DO_RSA_BLINDING)).booleanValue(); // This does not change. props.put(VERSION, Registry.VERSION_STRING); } - private void handleBooleanProperty(final String name) + private static void handleBooleanProperty(final String name) { String s = null; try diff --git a/gnu/java/security/action/GetPropertyAction.java b/gnu/java/security/action/GetPropertyAction.java index 7295d8d5a..248bb32ec 100644 --- a/gnu/java/security/action/GetPropertyAction.java +++ b/gnu/java/security/action/GetPropertyAction.java @@ -1,5 +1,5 @@ /* GetPropertyAction.java - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -68,6 +68,7 @@ public class GetPropertyAction implements PrivilegedAction<String> setParameters(propName, defaultValue); } + @Override public String run() { return System.getProperty(name, value); diff --git a/gnu/java/security/action/GetSecurityPropertyAction.java b/gnu/java/security/action/GetSecurityPropertyAction.java index ac928ca33..46484e9f8 100644 --- a/gnu/java/security/action/GetSecurityPropertyAction.java +++ b/gnu/java/security/action/GetSecurityPropertyAction.java @@ -1,5 +1,5 @@ /* GetSecurityPropertyAction.java - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -83,6 +83,7 @@ public class GetSecurityPropertyAction implements PrivilegedAction<String> return this; } + @Override public String run() { String val = Security.getProperty(name); diff --git a/gnu/java/security/ber/BERReader.java b/gnu/java/security/ber/BERReader.java index 53a3f3ee9..bb653600d 100644 --- a/gnu/java/security/ber/BERReader.java +++ b/gnu/java/security/ber/BERReader.java @@ -1,5 +1,5 @@ /* BERReader.java -- basic encoding rules (BER) reader. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -73,6 +73,7 @@ public class BERReader extends DERReader implements BER super(in); } + @Override public DERValue read() throws IOException { in.mark(2); @@ -86,11 +87,8 @@ public class BERReader extends DERReader implements BER return END_OF_SEQUENCE; return new BERValue(tag, CONSTRUCTED_VALUE, new byte[] { (byte) tag, 0 }); } - else - { - in.reset(); - return super.read(); - } + in.reset(); + return super.read(); } public int peek() throws IOException diff --git a/gnu/java/security/ber/BERValue.java b/gnu/java/security/ber/BERValue.java index aeaef39bf..b9acd222d 100644 --- a/gnu/java/security/ber/BERValue.java +++ b/gnu/java/security/ber/BERValue.java @@ -1,5 +1,5 @@ /* BERReader.java -- basic encoding rules (BER) value. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -73,6 +73,7 @@ public class BERValue extends DERValue return indefinite; } + @Override public int getLength() { if (indefinite) diff --git a/gnu/java/security/der/BitString.java b/gnu/java/security/der/BitString.java index c7032ccfc..f44480385 100644 --- a/gnu/java/security/der/BitString.java +++ b/gnu/java/security/der/BitString.java @@ -1,5 +1,5 @@ /* BitString.java -- Java representation of the BIT STRING type. - Copyright (C) 2003, 2014 Free Software Foundation, Inc. + Copyright (C) 2003, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -197,10 +197,10 @@ public class BitString implements Cloneable, Comparable<BitString> public byte[] toByteArray() { if (ignoredBits == 0) - return (byte[]) bytes.clone(); + return bytes.clone(); if (externBytes == null) externBytes = new BigInteger(bytes).shiftRight(ignoredBits).toByteArray(); - return (byte[]) externBytes.clone(); + return externBytes.clone(); } /** @@ -212,7 +212,7 @@ public class BitString implements Cloneable, Comparable<BitString> */ public byte[] getShiftedByteArray() { - return (byte[]) bytes.clone(); + return bytes.clone(); } /** @@ -258,9 +258,10 @@ public class BitString implements Cloneable, Comparable<BitString> } } } - return (boolean[]) boolVal.clone(); + return boolVal.clone(); } + @Override public Object clone() { try @@ -288,6 +289,7 @@ public class BitString implements Cloneable, Comparable<BitString> return 0; // not reached. } + @Override public int hashCode() { int result = 0; @@ -301,6 +303,7 @@ public class BitString implements Cloneable, Comparable<BitString> return result; } + @Override public boolean equals(Object o) { if (!(o instanceof BitString)) @@ -314,6 +317,7 @@ public class BitString implements Cloneable, Comparable<BitString> return false; } + @Override public String toString() { CPStringBuilder sb = new CPStringBuilder(); diff --git a/gnu/java/security/der/DERReader.java b/gnu/java/security/der/DERReader.java index cd552c8be..b061a27e2 100644 --- a/gnu/java/security/der/DERReader.java +++ b/gnu/java/security/der/DERReader.java @@ -1,5 +1,5 @@ /* DERReader.java -- parses ASN.1 DER sequences - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -346,7 +346,7 @@ public class DERReader implements DER return str.toString(); } - private Date makeTime(int tag, byte[] value) throws IOException + private static Date makeTime(int tag, byte[] value) throws IOException { Calendar calendar = Calendar.getInstance(); String str = makeString(PRINTABLE_STRING, value); @@ -415,18 +415,23 @@ public class DERReader implements DER Integer.parseInt(date.substring(8, 10)), 0); // hour, min switch (date.length()) { - case 19: + case 19: case 18: case 17: case 16: calendar.set(Calendar.MILLISECOND, Integer.parseInt(date.substring(15))); + //$FALL-THROUGH$ case 14: calendar.set(Calendar.SECOND, Integer.parseInt(date.substring(12, 14))); + //$FALL-THROUGH$ case 12: calendar.set(Calendar.MINUTE, Integer.parseInt(date.substring(10, 12))); + break; + default: // length of 15, 13 or 11 + throw new DEREncodingException("cannot parse date"); } } catch (NumberFormatException nfe) diff --git a/gnu/java/security/der/DERValue.java b/gnu/java/security/der/DERValue.java index 2cbe34573..1cc6d4e39 100644 --- a/gnu/java/security/der/DERValue.java +++ b/gnu/java/security/der/DERValue.java @@ -1,5 +1,5 @@ /* DERValue.java -- a value read or written to a DER encoding. - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -67,7 +67,7 @@ public class DERValue implements DER this.length = length; this.value = value; if (encoded != null) - this.encoded = (byte[]) encoded.clone(); + this.encoded = encoded.clone(); } public DERValue(int tag, Object value) @@ -125,9 +125,9 @@ public class DERValue implements DER public Object getValueAs (final int derType) throws IOException { - byte[] encoded = getEncoded (); - encoded[0] = (byte) derType; - return DERReader.read (encoded).getValue (); + byte[] enc = getEncoded(); + enc[0] = (byte) derType; + return DERReader.read(enc).getValue(); } public byte[] getEncoded() @@ -147,7 +147,7 @@ public class DERValue implements DER throw iae; } } - return (byte[]) encoded.clone(); + return encoded.clone(); } public int getEncodedLength() @@ -170,6 +170,7 @@ public class DERValue implements DER return encoded.length; } + @Override public String toString() { String start = "DERValue ( ["; diff --git a/gnu/java/security/hash/BaseHash.java b/gnu/java/security/hash/BaseHash.java index bab930f28..ab41b7175 100644 --- a/gnu/java/security/hash/BaseHash.java +++ b/gnu/java/security/hash/BaseHash.java @@ -1,5 +1,5 @@ /* BaseHash.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. @@ -78,21 +78,25 @@ public abstract class BaseHash resetContext(); } + @Override public String name() { return name; } - + + @Override public int hashSize() { return hashSize; } + @Override public int blockSize() { return blockSize; } + @Override public void update(byte b) { // compute number of bytes still unhashed; ie. present in buffer @@ -103,11 +107,13 @@ public abstract class BaseHash transform(buffer, 0); } + @Override public void update(byte[] b) { update(b, 0, b.length); } + @Override public void update(byte[] b, int offset, int len) { int n = (int) (count % blockSize); @@ -128,7 +134,8 @@ public abstract class BaseHash if (i < len) System.arraycopy(b, offset + i, buffer, n, len - i); } - + + @Override public byte[] digest() { byte[] tail = padBuffer(); // pad remaining bytes in buffer @@ -140,6 +147,7 @@ public abstract class BaseHash return result; } + @Override public void reset() { // reset this instance for future re-use count = 0L; @@ -149,8 +157,10 @@ public abstract class BaseHash resetContext(); } + @Override public abstract Object clone(); + @Override public abstract boolean selfTest(); /** diff --git a/gnu/java/security/hash/Haval.java b/gnu/java/security/hash/Haval.java index 15c303934..0d6635da1 100644 --- a/gnu/java/security/hash/Haval.java +++ b/gnu/java/security/hash/Haval.java @@ -1,5 +1,5 @@ /* Haval.java -- - Copyright (C) 2003, 2006 Free Software Foundation, Inc. + Copyright (C) 2003, 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -176,14 +176,16 @@ public class Haval this.h6 = md.h6; this.h7 = md.h7; this.count = md.count; - this.buffer = (byte[]) md.buffer.clone(); + this.buffer = md.buffer.clone(); } + @Override public Object clone() { return new Haval(this); } + @Override protected synchronized void transform(byte[] in, int i) { int X0 = (in[i++] & 0xFF) @@ -511,6 +513,7 @@ public class Haval h0 += t0; } + @Override protected byte[] padBuffer() { // pad out to 118 mod 128. other 10 bytes have special use. @@ -540,6 +543,7 @@ public class Haval return result; } + @Override protected byte[] getResult() { tailorDigestBits(); // tailor context for the designated output size @@ -592,6 +596,7 @@ public class Haval return result; } + @Override protected void resetContext() { h0 = 0x243F6A88; @@ -604,6 +609,7 @@ public class Haval h7 = 0xEC4E6C89; } + @Override public boolean selfTest() { if (valid == null) @@ -676,6 +682,9 @@ public class Haval h4 += ((h7 >>> 9) & 0x0F); h5 += ((h7 >>> 4) & 0x1F); h6 += (h7 & 0x0F); + break; + default: + // do nothing } } @@ -772,35 +781,35 @@ public class Haval return (t >>> 7 | t << 25) + (x7 >>> 11 | x7 << 21) + w + c; } - private int FF5(int x7, int x6, int x5, int x4, int x3, int x2, int x1, - int x0, int w, int c) + private static int FF5(int x7, int x6, int x5, int x4, int x3, int x2, int x1, + int x0, int w, int c) { int t = f5(x2, x5, x0, x6, x4, x3, x1); return (t >>> 7 | t << 25) + (x7 >>> 11 | x7 << 21) + w + c; } - private int f1(int x6, int x5, int x4, int x3, int x2, int x1, int x0) + private static int f1(int x6, int x5, int x4, int x3, int x2, int x1, int x0) { return x1 & (x0 ^ x4) ^ x2 & x5 ^ x3 & x6 ^ x0; } - private int f2(int x6, int x5, int x4, int x3, int x2, int x1, int x0) + private static int f2(int x6, int x5, int x4, int x3, int x2, int x1, int x0) { return x2 & (x1 & ~x3 ^ x4 & x5 ^ x6 ^ x0) ^ x4 & (x1 ^ x5) ^ x3 & x5 ^ x0; } - private int f3(int x6, int x5, int x4, int x3, int x2, int x1, int x0) + private static int f3(int x6, int x5, int x4, int x3, int x2, int x1, int x0) { return x3 & (x1 & x2 ^ x6 ^ x0) ^ x1 & x4 ^ x2 & x5 ^ x0; } - private int f4(int x6, int x5, int x4, int x3, int x2, int x1, int x0) + private static int f4(int x6, int x5, int x4, int x3, int x2, int x1, int x0) { return x4 & (x5 & ~x2 ^ x3 & ~x6 ^ x1 ^ x6 ^ x0) ^ x3 & (x1 & x2 ^ x5 ^ x6) ^ x2 & x6 ^ x0; } - private int f5(int x6, int x5, int x4, int x3, int x2, int x1, int x0) + private static int f5(int x6, int x5, int x4, int x3, int x2, int x1, int x0) { return x0 & (x1 & x2 & x3 ^ ~x5) ^ x1 & x4 ^ x2 & x5 ^ x3 & x6; } diff --git a/gnu/java/security/hash/MD2.java b/gnu/java/security/hash/MD2.java index d78af93fa..7f84dd542 100644 --- a/gnu/java/security/hash/MD2.java +++ b/gnu/java/security/hash/MD2.java @@ -1,5 +1,5 @@ /* MD2.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -132,17 +132,19 @@ public class MD2 // superclass field this.count = md2.count; - this.buffer = (byte[]) md2.buffer.clone(); + this.buffer = md2.buffer.clone(); // private field - this.checksum = (byte[]) md2.checksum.clone(); - this.work = (byte[]) md2.work.clone(); + this.checksum = md2.checksum.clone(); + this.work = md2.work.clone(); } + @Override public Object clone() { return new MD2(this); } + @Override protected byte[] getResult() { byte[] result = new byte[DIGEST_LENGTH]; @@ -154,12 +156,14 @@ public class MD2 return result; } + @Override protected void resetContext() { checksum = new byte[BLOCK_LENGTH]; work = new byte[BLOCK_LENGTH * 3]; } + @Override public boolean selfTest() { if (valid == null) @@ -180,6 +184,7 @@ public class MD2 * @return the bytes to pad the remaining bytes in the buffer before * completing a hash operation. */ + @Override protected byte[] padBuffer() { int length = BLOCK_LENGTH - (int) (count % BLOCK_LENGTH); @@ -199,6 +204,7 @@ public class MD2 * @param in the byte array to take the <code>BLOCK_LENGTH</code> bytes from. * @param off the offset to start from in the given byte array. */ + @Override protected void transform(byte[] in, int off) { updateCheckSumAndEncryptBlock(in, off); diff --git a/gnu/java/security/hash/MD4.java b/gnu/java/security/hash/MD4.java index e6ac11bc8..c01c938e8 100644 --- a/gnu/java/security/hash/MD4.java +++ b/gnu/java/security/hash/MD4.java @@ -1,5 +1,5 @@ /* MD4.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. @@ -105,14 +105,16 @@ public class MD4 this.c = that.c; this.d = that.d; this.count = that.count; - this.buffer = (byte[]) that.buffer.clone(); + this.buffer = that.buffer.clone(); } - + + @Override public Object clone() { return new MD4(this); } + @Override protected byte[] getResult() { return new byte[] { @@ -122,6 +124,7 @@ public class MD4 (byte) d, (byte)(d >>> 8), (byte)(d >>> 16), (byte)(d >>> 24) }; } + @Override protected void resetContext() { a = A; @@ -130,16 +133,18 @@ public class MD4 d = D; } + @Override public boolean selfTest() { if (valid == null) { - String d = Util.toString(new MD4().digest()); - valid = Boolean.valueOf(DIGEST0.equals(d)); + String digest = Util.toString(new MD4().digest()); + valid = Boolean.valueOf(DIGEST0.equals(digest)); } return valid.booleanValue(); } + @Override protected byte[] padBuffer() { int n = (int)(count % BLOCK_LENGTH); @@ -158,6 +163,7 @@ public class MD4 return pad; } + @Override protected void transform(byte[] in, int i) { int X0 = (in[i++] & 0xFF) diff --git a/gnu/java/security/hash/MD5.java b/gnu/java/security/hash/MD5.java index dfffd3c80..045ccf04e 100644 --- a/gnu/java/security/hash/MD5.java +++ b/gnu/java/security/hash/MD5.java @@ -1,5 +1,5 @@ /* MD5.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -88,14 +88,16 @@ public class MD5 this.h2 = md.h2; this.h3 = md.h3; this.count = md.count; - this.buffer = (byte[]) md.buffer.clone(); + this.buffer = md.buffer.clone(); } + @Override public Object clone() { return new MD5(this); } + @Override protected synchronized void transform(byte[] in, int i) { int X0 = (in[i++] & 0xFF) @@ -321,6 +323,7 @@ public class MD5 h3 += D; } + @Override protected byte[] padBuffer() { int n = (int)(count % BLOCK_SIZE); @@ -341,6 +344,7 @@ public class MD5 return result; } + @Override protected byte[] getResult() { return new byte[] { @@ -350,6 +354,7 @@ public class MD5 (byte) h3, (byte)(h3 >>> 8), (byte)(h3 >>> 16), (byte)(h3 >>> 24) }; } + @Override protected void resetContext() { // magic MD5/RIPEMD128 initialisation constants @@ -359,6 +364,7 @@ public class MD5 h3 = 0x10325476; } + @Override public boolean selfTest() { if (valid == null) diff --git a/gnu/java/security/hash/RipeMD128.java b/gnu/java/security/hash/RipeMD128.java index bd0adc5e0..9751ed707 100644 --- a/gnu/java/security/hash/RipeMD128.java +++ b/gnu/java/security/hash/RipeMD128.java @@ -1,5 +1,5 @@ /* RipeMD128.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -114,14 +114,16 @@ public class RipeMD128 this.h2 = md.h2; this.h3 = md.h3; this.count = md.count; - this.buffer = (byte[]) md.buffer.clone(); + this.buffer = md.buffer.clone(); } + @Override public Object clone() { return new RipeMD128(this); } + @Override protected void transform(byte[] in, int offset) { int A, B, C, D, Ap, Bp, Cp, Dp, T, s, i; @@ -206,6 +208,7 @@ public class RipeMD128 h0 = T; } + @Override protected byte[] padBuffer() { int n = (int)(count % BLOCK_SIZE); @@ -226,6 +229,7 @@ public class RipeMD128 return result; } + @Override protected byte[] getResult() { return new byte[] { @@ -236,6 +240,7 @@ public class RipeMD128 }; } + @Override protected void resetContext() { // magic RIPEMD128 initialisation constants @@ -245,6 +250,7 @@ public class RipeMD128 h3 = 0x10325476; } + @Override public boolean selfTest() { if (valid == null) diff --git a/gnu/java/security/hash/RipeMD160.java b/gnu/java/security/hash/RipeMD160.java index 795f5a4b0..ea503c79f 100644 --- a/gnu/java/security/hash/RipeMD160.java +++ b/gnu/java/security/hash/RipeMD160.java @@ -1,5 +1,5 @@ /* RipeMD160.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -118,14 +118,16 @@ public class RipeMD160 this.h3 = md.h3; this.h4 = md.h4; this.count = md.count; - this.buffer = (byte[]) md.buffer.clone(); + this.buffer = md.buffer.clone(); } + @Override public Object clone() { return (new RipeMD160(this)); } + @Override protected void transform(byte[] in, int offset) { int A, B, C, D, E, Ap, Bp, Cp, Dp, Ep, T, s, i; @@ -238,6 +240,7 @@ public class RipeMD160 h0 = T; } + @Override protected byte[] padBuffer() { int n = (int)(count % BLOCK_SIZE); @@ -258,6 +261,7 @@ public class RipeMD160 return result; } + @Override protected byte[] getResult() { return new byte[] { @@ -269,6 +273,7 @@ public class RipeMD160 }; } + @Override protected void resetContext() { // magic RIPEMD160 initialisation constants @@ -279,6 +284,7 @@ public class RipeMD160 h4 = 0xC3D2E1F0; } + @Override public boolean selfTest() { if (valid == null) diff --git a/gnu/java/security/hash/Sha160.java b/gnu/java/security/hash/Sha160.java index 88bf0e405..981a36db1 100644 --- a/gnu/java/security/hash/Sha160.java +++ b/gnu/java/security/hash/Sha160.java @@ -1,5 +1,5 @@ /* Sha160.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -102,7 +102,7 @@ public class Sha160 this.h3 = md.h3; this.h4 = md.h4; this.count = md.count; - this.buffer = (byte[]) md.buffer.clone(); + this.buffer = md.buffer.clone(); } public static final int[] G(int hh0, int hh1, int hh2, int hh3, int hh4, @@ -111,11 +111,13 @@ public class Sha160 return sha(hh0, hh1, hh2, hh3, hh4, in, offset); } + @Override public Object clone() { return new Sha160(this); } + @Override protected void transform(byte[] in, int offset) { int[] result = sha(h0, h1, h2, h3, h4, in, offset); @@ -126,6 +128,7 @@ public class Sha160 h4 = result[4]; } + @Override protected byte[] padBuffer() { int n = (int)(count % BLOCK_SIZE); @@ -146,6 +149,7 @@ public class Sha160 return result; } + @Override protected byte[] getResult() { return new byte[] { @@ -156,6 +160,7 @@ public class Sha160 (byte)(h4 >>> 24), (byte)(h4 >>> 16), (byte)(h4 >>> 8), (byte) h4 }; } + @Override protected void resetContext() { // magic SHA-1/RIPEMD160 initialisation constants @@ -166,6 +171,7 @@ public class Sha160 h4 = 0xC3D2E1F0; } + @Override public boolean selfTest() { if (valid == null) diff --git a/gnu/java/security/hash/Sha256.java b/gnu/java/security/hash/Sha256.java index 76e28d4e0..b411851ac 100644 --- a/gnu/java/security/hash/Sha256.java +++ b/gnu/java/security/hash/Sha256.java @@ -1,5 +1,5 @@ /* Sha256.java -- - Copyright (C) 2003, 2006 Free Software Foundation, Inc. + Copyright (C) 2003, 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -110,7 +110,7 @@ public class Sha256 this.h6 = md.h6; this.h7 = md.h7; this.count = md.count; - this.buffer = (byte[]) md.buffer.clone(); + this.buffer = md.buffer.clone(); } public static final int[] G(int hh0, int hh1, int hh2, int hh3, int hh4, @@ -118,12 +118,14 @@ public class Sha256 { return sha(hh0, hh1, hh2, hh3, hh4, hh5, hh6, hh7, in, offset); } - + + @Override public Object clone() { return new Sha256(this); } + @Override protected void transform(byte[] in, int offset) { int[] result = sha(h0, h1, h2, h3, h4, h5, h6, h7, in, offset); @@ -137,6 +139,7 @@ public class Sha256 h7 = result[7]; } + @Override protected byte[] padBuffer() { int n = (int)(count % BLOCK_SIZE); @@ -157,6 +160,7 @@ public class Sha256 return result; } + @Override protected byte[] getResult() { return new byte[] { @@ -170,6 +174,7 @@ public class Sha256 (byte)(h7 >>> 24), (byte)(h7 >>> 16), (byte)(h7 >>> 8), (byte) h7 }; } + @Override protected void resetContext() { // magic SHA-256 initialisation constants @@ -183,6 +188,7 @@ public class Sha256 h7 = 0x5be0cd19; } + @Override public boolean selfTest() { if (valid == null) diff --git a/gnu/java/security/hash/Sha384.java b/gnu/java/security/hash/Sha384.java index 5fea4f3b1..4fb3d6b0f 100644 --- a/gnu/java/security/hash/Sha384.java +++ b/gnu/java/security/hash/Sha384.java @@ -1,5 +1,5 @@ /* Sha384.java -- - Copyright (C) 2003, 2006 Free Software Foundation, Inc. + Copyright (C) 2003, 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -121,7 +121,7 @@ public class Sha384 this.h6 = md.h6; this.h7 = md.h7; this.count = md.count; - this.buffer = (byte[]) md.buffer.clone(); + this.buffer = md.buffer.clone(); } public static final long[] G(long hh0, long hh1, long hh2, long hh3, @@ -131,11 +131,13 @@ public class Sha384 return sha(hh0, hh1, hh2, hh3, hh4, hh5, hh6, hh7, in, offset); } + @Override public Object clone() { return new Sha384(this); } + @Override protected void transform(byte[] in, int offset) { long[] result = sha(h0, h1, h2, h3, h4, h5, h6, h7, in, offset); @@ -149,6 +151,7 @@ public class Sha384 h7 = result[7]; } + @Override protected byte[] padBuffer() { int n = (int)(count % BLOCK_SIZE); @@ -171,6 +174,7 @@ public class Sha384 return result; } + @Override protected byte[] getResult() { return new byte[] { @@ -188,6 +192,7 @@ public class Sha384 (byte)(h5 >>> 24), (byte)(h5 >>> 16), (byte)(h5 >>> 8), (byte) h5 }; } + @Override protected void resetContext() { // magic SHA-384 initialisation constants @@ -201,6 +206,7 @@ public class Sha384 h7 = 0x47b5481dbefa4fa4L; } + @Override public boolean selfTest() { if (valid == null) diff --git a/gnu/java/security/hash/Sha512.java b/gnu/java/security/hash/Sha512.java index 17c4323fa..65c486737 100644 --- a/gnu/java/security/hash/Sha512.java +++ b/gnu/java/security/hash/Sha512.java @@ -1,5 +1,5 @@ /* Sha512.java -- - Copyright (C) 2003, 2006 Free Software Foundation, Inc. + Copyright (C) 2003, 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -121,7 +121,7 @@ public class Sha512 this.h6 = md.h6; this.h7 = md.h7; this.count = md.count; - this.buffer = (byte[]) md.buffer.clone(); + this.buffer = md.buffer.clone(); } public static final long[] G(long hh0, long hh1, long hh2, long hh3, @@ -131,11 +131,13 @@ public class Sha512 return sha(hh0, hh1, hh2, hh3, hh4, hh5, hh6, hh7, in, offset); } + @Override public Object clone() { return new Sha512(this); } + @Override protected void transform(byte[] in, int offset) { long[] result = sha(h0, h1, h2, h3, h4, h5, h6, h7, in, offset); @@ -149,6 +151,7 @@ public class Sha512 h7 = result[7]; } + @Override protected byte[] padBuffer() { int n = (int)(count % BLOCK_SIZE); @@ -171,6 +174,7 @@ public class Sha512 return result; } + @Override protected byte[] getResult() { return new byte[] { @@ -192,6 +196,7 @@ public class Sha512 (byte)(h7 >>> 24), (byte)(h7 >>> 16), (byte)(h7 >>> 8), (byte) h7 }; } + @Override protected void resetContext() { // magic SHA-512 initialisation constants @@ -205,6 +210,7 @@ public class Sha512 h7 = 0x5be0cd19137e2179L; } + @Override public boolean selfTest() { if (valid == null) diff --git a/gnu/java/security/hash/Tiger.java b/gnu/java/security/hash/Tiger.java index d2993db9f..d62cf7ba1 100644 --- a/gnu/java/security/hash/Tiger.java +++ b/gnu/java/security/hash/Tiger.java @@ -1,5 +1,5 @@ /* Tiger.java -- - Copyright (C) 2003, 2006 Free Software Foundation, Inc. + Copyright (C) 2003, 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -456,14 +456,16 @@ public class Tiger this.b = that.b; this.c = that.c; this.count = that.count; - this.buffer = (that.buffer != null) ? (byte[]) that.buffer.clone() : null; + this.buffer = (that.buffer != null) ? that.buffer.clone() : null; } + @Override public Object clone() { return new Tiger(this); } + @Override public boolean selfTest() { if (valid == null) @@ -474,6 +476,7 @@ public class Tiger return valid.booleanValue(); } + @Override protected byte[] padBuffer() { int n = (int)(count % BLOCK_SIZE); @@ -492,6 +495,7 @@ public class Tiger return pad; } + @Override protected byte[] getResult() { return new byte[] { @@ -503,6 +507,7 @@ public class Tiger (byte)(c >>> 32), (byte)(c >>> 40), (byte)(c >>> 48), (byte)(c >>> 56) }; } + @Override protected void resetContext() { a = A; @@ -510,6 +515,7 @@ public class Tiger c = C; } + @Override protected void transform(byte[] in, int offset) { long x0, x1, x2, x3, x4, x5, x6, x7; diff --git a/gnu/java/security/hash/Whirlpool.java b/gnu/java/security/hash/Whirlpool.java index bb1174e2e..720f17f06 100644 --- a/gnu/java/security/hash/Whirlpool.java +++ b/gnu/java/security/hash/Whirlpool.java @@ -1,5 +1,5 @@ /* Whirlpool.java -- - Copyright (C) 2001, 2002, 2006, 2010, 2014 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2006, 2010, 2014, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -284,14 +284,16 @@ public final class Whirlpool this.H6 = md.H6; this.H7 = md.H7; this.count = md.count; - this.buffer = (byte[]) md.buffer.clone(); + this.buffer = md.buffer.clone(); } + @Override public Object clone() { return (new Whirlpool(this)); } + @Override protected void transform(byte[] in, int offset) { // apply mu to the input @@ -539,6 +541,7 @@ public final class Whirlpool H7 ^= w7 ^ n7; } + @Override protected byte[] padBuffer() { // [WHIRLPOOL] p. 6: @@ -569,6 +572,7 @@ public final class Whirlpool return result; } + @Override protected byte[] getResult() { // apply inverse mu to the context @@ -592,11 +596,13 @@ public final class Whirlpool } + @Override protected void resetContext() { H0 = H1 = H2 = H3 = H4 = H5 = H6 = H7 = 0L; } + @Override public boolean selfTest() { if (valid == null) diff --git a/gnu/java/security/jce/hash/MessageDigestAdapter.java b/gnu/java/security/jce/hash/MessageDigestAdapter.java index 2651ecf92..d0947b86f 100644 --- a/gnu/java/security/jce/hash/MessageDigestAdapter.java +++ b/gnu/java/security/jce/hash/MessageDigestAdapter.java @@ -1,5 +1,5 @@ /* MessageDigestAdapter.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -89,31 +89,37 @@ class MessageDigestAdapter this.adaptee = adaptee; } + @Override public Object clone() { return new MessageDigestAdapter((IMessageDigest) adaptee.clone()); } + @Override public int engineGetDigestLength() { return adaptee.hashSize(); } - + + @Override public void engineUpdate(byte input) { adaptee.update(input); } + @Override public void engineUpdate(byte[] input, int offset, int len) { adaptee.update(input, offset, len); } + @Override public byte[] engineDigest() { return adaptee.digest(); } + @Override public int engineDigest(byte[] buf, int offset, int len) throws DigestException { @@ -126,6 +132,7 @@ class MessageDigestAdapter return result; } + @Override public void engineReset() { adaptee.reset(); diff --git a/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java b/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java index 971cffe92..9ab5a53f7 100644 --- a/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java +++ b/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java @@ -1,5 +1,5 @@ /* DSSKeyPairGeneratorSpi.java -- - Copyright 2001, 2002, 2006, 2014 Free Software Foundation, Inc. + Copyright 2001, 2002, 2006, 2014, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -67,11 +67,13 @@ public class DSSKeyPairGeneratorSpi super(Registry.DSS_KPG); } + @Override public void initialize(int keysize, SecureRandom random) { this.initialize(keysize, false, random); } + @Override public void initialize(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException { diff --git a/gnu/java/security/jce/sig/DSSParametersGenerator.java b/gnu/java/security/jce/sig/DSSParametersGenerator.java index 09c138610..cad1fb380 100644 --- a/gnu/java/security/jce/sig/DSSParametersGenerator.java +++ b/gnu/java/security/jce/sig/DSSParametersGenerator.java @@ -1,5 +1,5 @@ /* DSSParametersGenerator.java -- JCE Adapter for a generator of DSS parameters - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -73,7 +73,7 @@ public class DSSParametersGenerator private FIPS186 fips; // default 0-arguments constructor - + @Override protected void engineInit(int size, SecureRandom random) { if ((size % 64) != 0 || size < 512 || size > 1024) @@ -85,6 +85,7 @@ public class DSSParametersGenerator this.rnd = random; } + @Override protected void engineInit(AlgorithmParameterSpec spec, SecureRandom random) throws InvalidAlgorithmParameterException { @@ -97,6 +98,7 @@ public class DSSParametersGenerator this.engineInit(size, random); } + @Override protected AlgorithmParameters engineGenerateParameters() { if (modulusLength < 1) diff --git a/gnu/java/security/jce/sig/EncodedKeyFactory.java b/gnu/java/security/jce/sig/EncodedKeyFactory.java index df8bb14b1..9f866fa07 100644 --- a/gnu/java/security/jce/sig/EncodedKeyFactory.java +++ b/gnu/java/security/jce/sig/EncodedKeyFactory.java @@ -1,5 +1,5 @@ /* EncodedKeyFactory.java -- JCE Encoded key factory Adapter - Copyright (C) 2006, 2010, 2014 Free Software Foundation, Inc. + Copyright (C) 2006, 2010, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -305,7 +305,7 @@ public class EncodedKeyFactory * @return an instance of {@link DSSPublicKey} constructed from the * information in the designated key-specification. */ - private DSSPublicKey decodeDSSPublicKey(DSAPublicKeySpec spec) + private static DSSPublicKey decodeDSSPublicKey(DSAPublicKeySpec spec) { BigInteger p = spec.getP(); BigInteger q = spec.getQ(); @@ -319,7 +319,7 @@ public class EncodedKeyFactory * @return an instance of {@link GnuRSAPublicKey} constructed from the * information in the designated key-specification. */ - private GnuRSAPublicKey decodeRSAPublicKey(RSAPublicKeySpec spec) + private static GnuRSAPublicKey decodeRSAPublicKey(RSAPublicKeySpec spec) { BigInteger n = spec.getModulus(); BigInteger e = spec.getPublicExponent(); @@ -334,7 +334,7 @@ public class EncodedKeyFactory * {@link DHPublicKey} interface exists at run-time, or if an * exception occurs during its instantiation. */ - private DHPublicKey decodeDHPublicKey(DHPublicKeySpec spec) + private static DHPublicKey decodeDHPublicKey(DHPublicKeySpec spec) throws InvalidKeySpecException { BigInteger p = spec.getP(); @@ -355,7 +355,7 @@ public class EncodedKeyFactory * {@link DHPublicKey} interface exists at run-time, or if an * exception occurs during its instantiation. */ - private DHPublicKey decodeDHPublicKey(byte[] encoded) + private static DHPublicKey decodeDHPublicKey(byte[] encoded) throws InvalidKeySpecException { Object obj = invokeValueOf("gnu.javax.crypto.key.dh.GnuDHPublicKey", @@ -368,7 +368,7 @@ public class EncodedKeyFactory * @return an instance of {@link DSSPrivateKey} constructed from the * information in the designated key-specification. */ - private PrivateKey decodeDSSPrivateKey(DSAPrivateKeySpec spec) + private static PrivateKey decodeDSSPrivateKey(DSAPrivateKeySpec spec) { BigInteger p = spec.getP(); BigInteger q = spec.getQ(); @@ -382,7 +382,7 @@ public class EncodedKeyFactory * @return an instance of {@link GnuRSAPrivateKey} constructed from the * information in the designated key-specification. */ - private PrivateKey decodeRSAPrivateKey(RSAPrivateCrtKeySpec spec) + private static PrivateKey decodeRSAPrivateKey(RSAPrivateCrtKeySpec spec) { BigInteger n = spec.getModulus(); BigInteger e = spec.getPublicExponent(); @@ -404,7 +404,7 @@ public class EncodedKeyFactory * {@link DHPrivateKey} interface exists at run-time, or if an * exception occurs during its instantiation. */ - private DHPrivateKey decodeDHPrivateKey(DHPrivateKeySpec spec) + private static DHPrivateKey decodeDHPrivateKey(DHPrivateKeySpec spec) throws InvalidKeySpecException { BigInteger p = spec.getP(); @@ -425,7 +425,7 @@ public class EncodedKeyFactory * {@link DHPrivateKey} interface exists at run-time, or if an * exception occurs during its instantiation. */ - private DHPrivateKey decodeDHPrivateKey(byte[] encoded) + private static DHPrivateKey decodeDHPrivateKey(byte[] encoded) throws InvalidKeySpecException { Object obj = invokeValueOf("gnu.javax.crypto.key.dh.GnuDHPrivateKey", diff --git a/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java b/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java index cd612aaa5..8ad0c3d8b 100644 --- a/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java +++ b/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java @@ -83,12 +83,15 @@ public abstract class KeyPairGeneratorAdapter this.adaptee = KeyPairGeneratorFactory.getInstance(localiseName(kpgName)); } + @Override public abstract void initialize(int keysize, SecureRandom random); + @Override public abstract void initialize(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException; + @Override public KeyPair generateKeyPair() { if (!adaptee.isInitialized()) @@ -133,7 +136,6 @@ public abstract class KeyPairGeneratorAdapter */ private static String localiseName(String kpgName) { - /** if ("DiffieHellman".equals(kpgName)) return Registry.DH_KPG; if ("DH".equals(kpgName)) @@ -142,7 +144,6 @@ public abstract class KeyPairGeneratorAdapter return Registry.DSA_KPG; if ("RSA".equals(kpgName)) return Registry.RSA_KPG; - */ return kpgName; } diff --git a/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java b/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java index fa3cbd5a8..aab10ff98 100644 --- a/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java +++ b/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java @@ -1,5 +1,5 @@ /* RSAKeyPairGeneratorSpi.java -- JCE RSA KeyPairGenerator Adapter - Copyright (C) 2001, 2002, 2006, 2014 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2006, 2014, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -63,6 +63,7 @@ public class RSAKeyPairGeneratorSpi super(Registry.RSA_KPG); } + @Override public void initialize(int keysize, SecureRandom random) { HashMap<String,Object> attributes = new HashMap<String,Object>(); @@ -75,6 +76,7 @@ public class RSAKeyPairGeneratorSpi adaptee.setup(attributes); } + @Override public void initialize(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException { diff --git a/gnu/java/security/jce/sig/SignatureAdapter.java b/gnu/java/security/jce/sig/SignatureAdapter.java index 7f7c1569f..7fe391ee2 100644 --- a/gnu/java/security/jce/sig/SignatureAdapter.java +++ b/gnu/java/security/jce/sig/SignatureAdapter.java @@ -1,5 +1,5 @@ /* SignatureAdapter.java -- - Copyright 2001, 2002, 2006, 2010, 2014 Free Software Foundation, Inc. + Copyright 2001, 2002, 2006, 2010, 2014, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -39,7 +39,6 @@ exception statement from your version. */ package gnu.java.security.jce.sig; import gnu.java.security.Configuration; -import gnu.java.security.sig.BaseSignature; import gnu.java.security.sig.ISignature; import gnu.java.security.sig.ISignatureCodec; import gnu.java.security.sig.SignatureFactory; @@ -109,6 +108,7 @@ class SignatureAdapter this.codec = codec; } + @Override public Object clone() { return new SignatureAdapter((ISignature) adaptee.clone(), codec); @@ -118,7 +118,7 @@ class SignatureAdapter public void engineInitVerify(PublicKey publicKey) throws InvalidKeyException { HashMap<String,Object> attributes = new HashMap<String,Object>(); - attributes.put(BaseSignature.VERIFIER_KEY, publicKey); + attributes.put(ISignature.VERIFIER_KEY, publicKey); try { adaptee.setupVerify(attributes); @@ -133,7 +133,7 @@ class SignatureAdapter public void engineInitSign(PrivateKey privateKey) throws InvalidKeyException { HashMap<String,Object> attributes = new HashMap<String,Object>(); - attributes.put(BaseSignature.SIGNER_KEY, privateKey); + attributes.put(ISignature.SIGNER_KEY, privateKey); try { adaptee.setupSign(attributes); @@ -149,8 +149,8 @@ class SignatureAdapter throws InvalidKeyException { HashMap<String,Object> attributes = new HashMap<String,Object>(); - attributes.put(BaseSignature.SIGNER_KEY, privateKey); - attributes.put(BaseSignature.SOURCE_OF_RANDOMNESS, random); + attributes.put(ISignature.SIGNER_KEY, privateKey); + attributes.put(ISignature.SOURCE_OF_RANDOMNESS, random); try { adaptee.setupSign(attributes); diff --git a/gnu/java/security/key/KeyPairCodecFactory.java b/gnu/java/security/key/KeyPairCodecFactory.java index b4d96e2e2..70d8ea44c 100644 --- a/gnu/java/security/key/KeyPairCodecFactory.java +++ b/gnu/java/security/key/KeyPairCodecFactory.java @@ -1,5 +1,5 @@ /* KeyPairCodecFactory.java -- - Copyright 2001, 2002, 2006, 2014 Free Software Foundation, Inc. + Copyright 2001, 2002, 2006, 2014, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -154,13 +154,14 @@ public class KeyPairCodecFactory return getX509Codec(name); case Registry.PKCS8_ENCODING_ID: return getPKCS8Codec(name); + default: + return null; } - return null; } /** - * Returns an instance of a keypair codec given a key. + * Returns an instance of a keypair codec, given a key. * * @param key the key to encode. * @return an instance of the keypair codec, or <code>null</code> if none @@ -184,9 +185,10 @@ public class KeyPairCodecFactory return getX509Codec(key); case Registry.PKCS8_ENCODING_ID: return getPKCS8Codec(key); + default: + return null; } - return null; } /** diff --git a/gnu/java/security/key/dss/DSSKey.java b/gnu/java/security/key/dss/DSSKey.java index ed356ef38..e46ec0a72 100644 --- a/gnu/java/security/key/dss/DSSKey.java +++ b/gnu/java/security/key/dss/DSSKey.java @@ -1,5 +1,5 @@ /* DSSKey.java -- - Copyright 2001, 2002, 2003, 2006, 2014 Free Software Foundation, Inc. + Copyright 2001, 2002, 2003, 2006, 2014, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -50,6 +50,7 @@ import java.security.Key; import java.security.interfaces.DSAKey; import java.security.interfaces.DSAParams; import java.security.spec.DSAParameterSpec; +import java.util.Objects; /** * A base asbtract class for both public and private DSS (Digital Signature @@ -128,22 +129,26 @@ public abstract class DSSKey this.g = g; } + @Override public DSAParams getParams() { return new DSAParameterSpec(p, q, g); } + @Override public String getAlgorithm() { return "DSA"; } /** @deprecated see getEncoded(int). */ + @Override @Deprecated public byte[] getEncoded() { return getEncoded(defaultFormat); } + @Override public String getFormat() { return FormatUtil.getEncodingShortName(defaultFormat); @@ -163,6 +168,7 @@ public abstract class DSSKey * @return <code>true</code> if the designated object is of the same type * and value as this one. */ + @Override public boolean equals(Object obj) { if (hasInheritedParameters()) @@ -180,11 +186,24 @@ public abstract class DSSKey && g.equals(that.getParams().getG()); } + /** + * Returns the hash code of the key, computed from its + * parameter values. + * + * @return the hash code. + */ + @Override + public int hashCode() + { + return Objects.hash(p, q, g); + } + + @Override public String toString() { if (str == null) { - String ls = (String) AccessController.doPrivileged(new GetPropertyAction("line.separator")); + String ls = AccessController.doPrivileged(new GetPropertyAction("line.separator")); CPStringBuilder sb = new CPStringBuilder(ls) .append("defaultFormat=").append(defaultFormat).append(",") .append(ls); diff --git a/gnu/java/security/key/dss/DSSKeyPairGenerator.java b/gnu/java/security/key/dss/DSSKeyPairGenerator.java index fe1eeb683..439377d6b 100644 --- a/gnu/java/security/key/dss/DSSKeyPairGenerator.java +++ b/gnu/java/security/key/dss/DSSKeyPairGenerator.java @@ -288,12 +288,9 @@ public class DSSKeyPairGenerator throw new IllegalArgumentException( "Does not provide default parameters for " + L + "-bit modulus length"); - else - { - p = null; - q = null; - g = null; - } + p = null; + q = null; + g = null; } } else @@ -326,7 +323,6 @@ public class DSSKeyPairGenerator { if (p == null) { - System.err.println("Attempting to generate parameters for modulus of length " + L); BigInteger[] params = new FIPS186(L, rnd).generateParameters(); seed = params[FIPS186.DSA_PARAMS_SEED]; counter = params[FIPS186.DSA_PARAMS_COUNTER]; diff --git a/gnu/java/security/key/dss/DSSKeyPairRawCodec.java b/gnu/java/security/key/dss/DSSKeyPairRawCodec.java index 5b93c6b1e..f0dc0d7a3 100644 --- a/gnu/java/security/key/dss/DSSKeyPairRawCodec.java +++ b/gnu/java/security/key/dss/DSSKeyPairRawCodec.java @@ -1,5 +1,6 @@ /* DSSKeyPairRawCodec.java -- - Copyright 2001, 2002, 2003, 2006 Free Software Foundation, Inc. + Copyright 2001, 2002, 2003, 2006, 2015 + Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -55,6 +56,7 @@ public class DSSKeyPairRawCodec { // implicit 0-arguments constructor + @Override public int getFormatID() { return RAW_FORMAT; @@ -99,6 +101,7 @@ public class DSSKeyPairRawCodec * (Digital Signature Standard) one. * @see Registry#MAGIC_RAW_DSS_PUBLIC_KEY */ + @Override public byte[] encodePublicKey(PublicKey key) { if (! (key instanceof DSSPublicKey)) @@ -148,6 +151,7 @@ public class DSSKeyPairRawCodec return baos.toByteArray(); } + @Override public PublicKey decodePublicKey(byte[] k) { // magic @@ -241,6 +245,7 @@ public class DSSKeyPairRawCodec * @throws IllegalArgumentException if the designated key is not a DSS * (Digital Signature Standard) one. */ + @Override public byte[] encodePrivateKey(PrivateKey key) { if (! (key instanceof DSSPrivateKey)) @@ -290,6 +295,7 @@ public class DSSKeyPairRawCodec return baos.toByteArray(); } + @Override public PrivateKey decodePrivateKey(byte[] k) { // magic diff --git a/gnu/java/security/key/dss/DSSKeyPairX509Codec.java b/gnu/java/security/key/dss/DSSKeyPairX509Codec.java index 678924851..11bd22ef1 100644 --- a/gnu/java/security/key/dss/DSSKeyPairX509Codec.java +++ b/gnu/java/security/key/dss/DSSKeyPairX509Codec.java @@ -1,5 +1,5 @@ /* DSSKeyPairX509Codec.java -- X.509 Encoding/Decoding handler - Copyright (C) 2006, 2014 Free Software Foundation, Inc. + Copyright (C) 2006, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -67,6 +67,7 @@ public class DSSKeyPairX509Codec // implicit 0-arguments constructor + @Override public int getFormatID() { return X509_FORMAT; @@ -116,6 +117,7 @@ public class DSSKeyPairX509Codec * of {@link DSSPublicKey} or if an exception occurs during the * marshalling process. */ + @Override public byte[] encodePublicKey(PublicKey key) { if (! (key instanceof DSSPublicKey)) @@ -179,6 +181,7 @@ public class DSSKeyPairX509Codec /** * @throws InvalidParameterException ALWAYS. */ + @Override public byte[] encodePrivateKey(PrivateKey key) { throw new InvalidParameterException("Wrong format for private keys"); @@ -192,6 +195,7 @@ public class DSSKeyPairX509Codec * @throw InvalidParameterException if an exception occurs during the * unmarshalling process. */ + @Override public PublicKey decodePublicKey(byte[] input) { if (input == null) @@ -269,6 +273,7 @@ public class DSSKeyPairX509Codec /** * @throws InvalidParameterException ALWAYS. */ + @Override public PrivateKey decodePrivateKey(byte[] input) { throw new InvalidParameterException("Wrong format for private keys"); diff --git a/gnu/java/security/key/dss/DSSPrivateKey.java b/gnu/java/security/key/dss/DSSPrivateKey.java index 4b3ccc72d..134c977ec 100644 --- a/gnu/java/security/key/dss/DSSPrivateKey.java +++ b/gnu/java/security/key/dss/DSSPrivateKey.java @@ -1,5 +1,6 @@ /* DSSPrivateKey.java -- - Copyright 2001, 2002, 2003, 2006, 2014 Free Software Foundation, Inc. + Copyright 2001, 2002, 2003, 2006, 2014, 2015 + Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -47,7 +48,6 @@ import gnu.java.security.key.IKeyPairCodec; import java.math.BigInteger; import java.security.AccessController; -import java.security.PrivateKey; import java.security.interfaces.DSAPrivateKey; /** @@ -57,7 +57,7 @@ import java.security.interfaces.DSAPrivateKey; */ public class DSSPrivateKey extends DSSKey - implements PrivateKey, DSAPrivateKey + implements DSAPrivateKey { private static final long serialVersionUID = -4273348785094844114L; @@ -135,6 +135,7 @@ public class DSSPrivateKey return (DSSPrivateKey) new DSSKeyPairPKCS8Codec().decodePrivateKey(k); } + @Override public BigInteger getX() { return x; @@ -150,6 +151,7 @@ public class DSSPrivateKey * @exception IllegalArgumentException if the format is not supported. * @see DSSKeyPairRawCodec */ + @Override public byte[] getEncoded(int format) { byte[] result; @@ -177,6 +179,7 @@ public class DSSPrivateKey * @return <code>true</code> if the designated object is of the same type * and value as this one. */ + @Override public boolean equals(Object obj) { if (obj == null) @@ -189,11 +192,26 @@ public class DSSPrivateKey return super.equals(that) && x.equals(that.getX()); } + /** + * Provides a hash code for this object using the DSA + * parameter values, mirroring the {@link #equals(Object)} + * implementation. + * + * @return the hash code of this object. + * @see #equals(Object) + */ + @Override + public int hashCode() + { + return 31 * super.hashCode() + x.hashCode(); + } + + @Override public String toString() { if (str == null) { - String ls = (String) AccessController.doPrivileged + String ls = AccessController.doPrivileged (new GetPropertyAction("line.separator")); str = new CPStringBuilder(this.getClass().getName()).append("(") .append(super.toString()).append(",").append(ls) diff --git a/gnu/java/security/key/dss/DSSPublicKey.java b/gnu/java/security/key/dss/DSSPublicKey.java index 0f4c08e78..91031c9e7 100644 --- a/gnu/java/security/key/dss/DSSPublicKey.java +++ b/gnu/java/security/key/dss/DSSPublicKey.java @@ -1,5 +1,6 @@ /* DSSPublicKey.java -- - Copyright 2001, 2002, 2003, 2006, 2014 Free Software Foundation, Inc. + Copyright 2001, 2002, 2003, 2006, 2014, 2015 + Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -46,7 +47,6 @@ import gnu.java.security.key.IKeyPairCodec; import java.math.BigInteger; import java.security.AccessController; -import java.security.PublicKey; import java.security.interfaces.DSAPublicKey; /** @@ -56,7 +56,7 @@ import java.security.interfaces.DSAPublicKey; */ public class DSSPublicKey extends DSSKey - implements PublicKey, DSAPublicKey + implements DSAPublicKey { private static final long serialVersionUID = 4662188565230532792L; @@ -134,6 +134,7 @@ public class DSSPublicKey return (DSSPublicKey) new DSSKeyPairX509Codec().decodePublicKey(k); } + @Override public BigInteger getY() { return y; @@ -149,6 +150,7 @@ public class DSSPublicKey * @exception IllegalArgumentException if the format is not supported. * @see DSSKeyPairRawCodec */ + @Override public byte[] getEncoded(int format) { byte[] result; @@ -176,6 +178,7 @@ public class DSSPublicKey * @return <code>true</code> if the designated object is of the same type * and value as this one. */ + @Override public boolean equals(Object obj) { if (obj == null) @@ -188,11 +191,26 @@ public class DSSPublicKey return super.equals(that) && y.equals(that.getY()); } + /** + * Provides a hash code for this object using the DSA + * parameter values, mirroring the {@link #equals(Object)} + * implementation. + * + * @return the hash code of this object. + * @see #equals(Object) + */ + @Override + public int hashCode() + { + return 31 * super.hashCode() + y.hashCode(); + } + + @Override public String toString() { if (str == null) { - String ls = (String) AccessController.doPrivileged + String ls = AccessController.doPrivileged (new GetPropertyAction("line.separator")); str = new CPStringBuilder(this.getClass().getName()).append("(") .append(super.toString()).append(",").append(ls) diff --git a/gnu/java/security/key/rsa/GnuRSAKey.java b/gnu/java/security/key/rsa/GnuRSAKey.java index 543ebdc56..8954f7574 100644 --- a/gnu/java/security/key/rsa/GnuRSAKey.java +++ b/gnu/java/security/key/rsa/GnuRSAKey.java @@ -48,6 +48,7 @@ import java.math.BigInteger; import java.security.AccessController; import java.security.Key; import java.security.interfaces.RSAKey; +import java.util.Objects; /** * A base asbtract class for both public and private RSA keys. @@ -90,22 +91,26 @@ public abstract class GnuRSAKey this.e = e; } + @Override public BigInteger getModulus() { return getN(); } + @Override public String getAlgorithm() { return "RSA"; } /** @deprecated see getEncoded(int). */ + @Override @Deprecated public byte[] getEncoded() { return getEncoded(defaultFormat); } + @Override public String getFormat() { return FormatUtil.getEncodingShortName(defaultFormat); @@ -149,6 +154,7 @@ public abstract class GnuRSAKey * @return <code>true</code> if the designated object is of the same type * and value as this one. */ + @Override public boolean equals(final Object obj) { if (obj == null) @@ -161,11 +167,24 @@ public abstract class GnuRSAKey return n.equals(that.getModulus()); } + /** + * Provides a hash code for this object using the RSA + * modulus. + * + * @return the hash code of this object. + */ + @Override + public int hashCode() + { + return Objects.hash(n); + } + + @Override public String toString() { if (str == null) { - String ls = (String) AccessController.doPrivileged + String ls = AccessController.doPrivileged (new GetPropertyAction("line.separator")); str = new CPStringBuilder(ls) .append("defaultFormat=").append(defaultFormat).append(",").append(ls) diff --git a/gnu/java/security/key/rsa/GnuRSAPrivateKey.java b/gnu/java/security/key/rsa/GnuRSAPrivateKey.java index 379650a81..5bc4dd878 100644 --- a/gnu/java/security/key/rsa/GnuRSAPrivateKey.java +++ b/gnu/java/security/key/rsa/GnuRSAPrivateKey.java @@ -1,5 +1,6 @@ /* GnuRSAPrivateKey.java -- - Copyright 2001, 2002, 2003, 2006, 2014 Free Software Foundation, Inc. + Copyright 2001, 2002, 2003, 2006, 2014, 2015 + Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -47,9 +48,9 @@ import gnu.java.security.key.IKeyPairCodec; import java.math.BigInteger; import java.security.AccessController; -import java.security.PrivateKey; import java.security.interfaces.RSAPrivateCrtKey; import java.security.interfaces.RSAPrivateKey; +import java.util.Objects; /** * An object that embodies an RSA private key. @@ -65,7 +66,7 @@ import java.security.interfaces.RSAPrivateKey; */ public class GnuRSAPrivateKey extends GnuRSAKey - implements PrivateKey, RSAPrivateCrtKey + implements RSAPrivateCrtKey { private static final long serialVersionUID = -2208207842306185913L; @@ -198,31 +199,37 @@ public class GnuRSAPrivateKey return (GnuRSAPrivateKey) new RSAKeyPairPKCS8Codec().decodePrivateKey(k); } + @Override public BigInteger getPrimeP() { return p; } + @Override public BigInteger getPrimeQ() { return q; } + @Override public BigInteger getPrimeExponentP() { return dP; } + @Override public BigInteger getPrimeExponentQ() { return dQ; } + @Override public BigInteger getCrtCoefficient() { return qInv; } + @Override public BigInteger getPrivateExponent() { return d; @@ -239,6 +246,7 @@ public class GnuRSAPrivateKey * @see RSAKeyPairRawCodec * @see RSAKeyPairPKCS8Codec */ + @Override public byte[] getEncoded(int format) { final byte[] result; @@ -265,6 +273,7 @@ public class GnuRSAPrivateKey * @return <code>true</code> if the designated object is of the same type * and value as this one. */ + @Override public boolean equals(final Object obj) { if (obj == null) @@ -287,11 +296,24 @@ public class GnuRSAPrivateKey return false; } + /** + * Provides a hash code for this object using the RSA + * parameter values. + * + * @return the hash code of this object. + */ + @Override + public int hashCode() + { + return Objects.hash(p, q, dP, dQ, qInv); + } + + @Override public String toString() { if (str == null) { - String ls = (String) AccessController.doPrivileged + String ls = AccessController.doPrivileged (new GetPropertyAction("line.separator")); str = new CPStringBuilder(this.getClass().getName()).append("(") .append(super.toString()).append(",").append(ls) diff --git a/gnu/java/security/key/rsa/GnuRSAPublicKey.java b/gnu/java/security/key/rsa/GnuRSAPublicKey.java index b8e1ea5b1..917012ce3 100644 --- a/gnu/java/security/key/rsa/GnuRSAPublicKey.java +++ b/gnu/java/security/key/rsa/GnuRSAPublicKey.java @@ -1,5 +1,6 @@ /* GnuRSAPublicKey.java -- - Copyright 2001, 2002, 2003, 2006, 2014 Free Software Foundation, Inc. + Copyright 2001, 2002, 2003, 2006, 2014, 2015 + Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -46,7 +47,6 @@ import gnu.java.security.key.IKeyPairCodec; import java.math.BigInteger; import java.security.AccessController; -import java.security.PublicKey; import java.security.interfaces.RSAPublicKey; /** @@ -63,7 +63,7 @@ import java.security.interfaces.RSAPublicKey; */ public class GnuRSAPublicKey extends GnuRSAKey - implements PublicKey, RSAPublicKey + implements RSAPublicKey { private static final long serialVersionUID = -1206860366945100193L; @@ -137,6 +137,7 @@ public class GnuRSAPublicKey * @throws IllegalArgumentException if the format is not supported. * @see RSAKeyPairRawCodec */ + @Override public byte[] getEncoded(final int format) { final byte[] result; @@ -163,6 +164,7 @@ public class GnuRSAPublicKey * @return <code>true</code> if the designated object is of the same type * and value as this one. */ + @Override public boolean equals(final Object obj) { if (obj == null) @@ -176,11 +178,27 @@ public class GnuRSAPublicKey && getPublicExponent().equals(that.getPublicExponent()); } + /** + * Provides a hash code for this object using the RSA + * modulus and public exponent, matching the comparisons + * used for the {@link #equals(Object)} implementation. + * + * @return the hash code of this object. + * @see #equals(Object) + */ + + @Override + public int hashCode() + { + return 31 * super.hashCode() + getPublicExponent().hashCode(); + } + + @Override public String toString() { if (str == null) { - String ls = (String) AccessController.doPrivileged + String ls = AccessController.doPrivileged (new GetPropertyAction("line.separator")); str = new CPStringBuilder(this.getClass().getName()).append("(") .append(super.toString()).append(",").append(ls) diff --git a/gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java b/gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java index ec9874d80..0eece5645 100644 --- a/gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java +++ b/gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java @@ -1,5 +1,5 @@ /* RSAKeyPairPKCS8Codec.java -- PKCS#8 Encoding/Decoding handler - Copyright (C) 2006, 2010, 2014 Free Software Foundation, Inc. + Copyright (C) 2006, 2010, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -71,6 +71,7 @@ public class RSAKeyPairPKCS8Codec // implicit 0-arguments constructor + @Override public int getFormatID() { return PKCS8_FORMAT; @@ -79,6 +80,7 @@ public class RSAKeyPairPKCS8Codec /** * @throws InvalidParameterException ALWAYS. */ + @Override public byte[] encodePublicKey(PublicKey key) { throw new InvalidParameterException("Wrong format for public keys"); @@ -124,6 +126,7 @@ public class RSAKeyPairPKCS8Codec * @throw InvalidParameterException if an error occurs during the marshalling * process. */ + @Override public byte[] encodePrivateKey(PrivateKey key) { if (Configuration.DEBUG) @@ -203,6 +206,7 @@ public class RSAKeyPairPKCS8Codec /** * @throws InvalidParameterException ALWAYS. */ + @Override public PublicKey decodePublicKey(byte[] input) { throw new InvalidParameterException("Wrong format for public keys"); @@ -216,6 +220,7 @@ public class RSAKeyPairPKCS8Codec * @throw InvalidParameterException if an exception occurs during the * unmarshalling process. */ + @Override public PrivateKey decodePrivateKey(byte[] input) { if (Configuration.DEBUG) diff --git a/gnu/java/security/key/rsa/RSAKeyPairRawCodec.java b/gnu/java/security/key/rsa/RSAKeyPairRawCodec.java index f088e794e..b3fb95334 100644 --- a/gnu/java/security/key/rsa/RSAKeyPairRawCodec.java +++ b/gnu/java/security/key/rsa/RSAKeyPairRawCodec.java @@ -1,5 +1,6 @@ /* RSAKeyPairRawCodec.java -- - Copyright 2001, 2002, 2003, 2006 Free Software Foundation, Inc. + Copyright 2001, 2002, 2003, 2006, 2015 + Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -55,6 +56,7 @@ public class RSAKeyPairRawCodec { // implicit 0-arguments constructor + @Override public int getFormatID() { return RAW_FORMAT; @@ -87,6 +89,7 @@ public class RSAKeyPairRawCodec * @exception IllegalArgumentException if the designated key is not an RSA * one. */ + @Override public byte[] encodePublicKey(PublicKey key) { if (! (key instanceof GnuRSAPublicKey)) @@ -120,6 +123,7 @@ public class RSAKeyPairRawCodec return baos.toByteArray(); } + @Override public PublicKey decodePublicKey(byte[] k) { // magic @@ -194,6 +198,7 @@ public class RSAKeyPairRawCodec * @param key the key to encode. * @return the <i>Raw</i> format encoding of the designated key. */ + @Override public byte[] encodePrivateKey(PrivateKey key) { if (! (key instanceof GnuRSAPrivateKey)) @@ -243,6 +248,7 @@ public class RSAKeyPairRawCodec return baos.toByteArray(); } + @Override public PrivateKey decodePrivateKey(byte[] k) { // magic diff --git a/gnu/java/security/pkcs/PKCS7SignedData.java b/gnu/java/security/pkcs/PKCS7SignedData.java index eccd69141..ea62ec9dc 100644 --- a/gnu/java/security/pkcs/PKCS7SignedData.java +++ b/gnu/java/security/pkcs/PKCS7SignedData.java @@ -1,5 +1,6 @@ /* PKCS7SignedData.java -- reader/writer for PKCS#7 signedData objects - Copyright (C) 2004, 2005, 2006, 2010, 2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2006, 2010, 2014, 2015 + Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -161,7 +162,7 @@ public class PKCS7SignedData throw new BEREncodingException("malformed ContentInfo"); val = ber.read(); - if (val.getTag() != BER.OBJECT_IDENTIFIER) + if (val.getTag() != DER.OBJECT_IDENTIFIER) throw new BEREncodingException("malformed ContentType"); if (!PKCS7_SIGNED_DATA.equals(val.getValue())) @@ -179,7 +180,7 @@ public class PKCS7SignedData log.fine("SignedData: " + val); val = ber.read(); - if (val.getTag() != BER.INTEGER) + if (val.getTag() != DER.INTEGER) throw new BEREncodingException("expecting Version"); version = (BigInteger) val.getValue(); if (Configuration.DEBUG) @@ -238,7 +239,7 @@ public class PKCS7SignedData if (Configuration.DEBUG) log.fine(" ContentInfo: " + val); val2 = ber.read(); - if (val2.getTag() != BER.OBJECT_IDENTIFIER) + if (val2.getTag() != DER.OBJECT_IDENTIFIER) throw new BEREncodingException("malformed ContentType"); contentType = (OID) val2.getValue(); @@ -295,20 +296,20 @@ public class PKCS7SignedData log.fine(" CertificateRevocationLists: " + val); count = 0; val2 = ber.read(); - List<CRL> crls = new LinkedList<CRL>(); + List<CRL> generatedCRLs = new LinkedList<CRL>(); while (val2 != BER.END_OF_SEQUENCE && (val.getLength() > 0 && val.getLength() > count)) { CRL crl = x509.generateCRL(new ByteArrayInputStream(val2.getEncoded())); if (Configuration.DEBUG) log.fine(" CRL: " + crl); - crls.add(crl); + generatedCRLs.add(crl); count += val2.getEncodedLength(); ber.skip(val2.getLength()); if (BERValue.isIndefinite(val) || val.getLength() > count) val2 = ber.read(); } - this.crls = crls.toArray(new CRL[crls.size()]); + crls = generatedCRLs.toArray(new CRL[generatedCRLs.size()]); val = ber.read(); } diff --git a/gnu/java/security/pkcs/SignerInfo.java b/gnu/java/security/pkcs/SignerInfo.java index 155eaaefa..6547d437b 100644 --- a/gnu/java/security/pkcs/SignerInfo.java +++ b/gnu/java/security/pkcs/SignerInfo.java @@ -1,5 +1,6 @@ /* SignerInfo.java -- a SignerInfo object, from PKCS #7 - Copyright (C) 2004, 2005, 2010. 2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2010. 2014, 2015 + Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -108,7 +109,7 @@ public class SignerInfo throw new BEREncodingException("malformed SignerInfo"); val = ber.read(); - if (val.getTag() != BER.INTEGER) + if (val.getTag() != DER.INTEGER) throw new BEREncodingException("malformed Version"); version = (BigInteger) val.getValue(); @@ -131,7 +132,7 @@ public class SignerInfo log.fine(" Issuer: " + issuer); val = ber.read(); - if (val.getTag() != BER.INTEGER) + if (val.getTag() != DER.INTEGER) throw new BEREncodingException("malformed SerialNumber"); serialNumber = (BigInteger) val.getValue(); @@ -145,7 +146,7 @@ public class SignerInfo log.fine(" DigestAlgorithmIdentifier: " + val); DERValue val2 = ber.read(); - if (val2.getTag() != BER.OBJECT_IDENTIFIER) + if (val2.getTag() != DER.OBJECT_IDENTIFIER) throw new BEREncodingException("malformed AlgorithmIdentifier"); digestAlgorithmId = (OID) val2.getValue(); @@ -205,7 +206,7 @@ public class SignerInfo if (Configuration.DEBUG) log.fine(" DigestEncryptionAlgorithmIdentifier: " + val); val2 = ber.read(); - if (val2.getTag() != BER.OBJECT_IDENTIFIER) + if (val2.getTag() != DER.OBJECT_IDENTIFIER) throw new BEREncodingException("malformed AlgorithmIdentifier"); digestEncryptionAlgorithmId = (OID) val2.getValue(); @@ -242,7 +243,7 @@ public class SignerInfo " digestEncryptionAlgorithm params: ")); } val = ber.read(); - if (val.getTag() != BER.OCTET_STRING) + if (val.getTag() != DER.OCTET_STRING) throw new BEREncodingException("malformed EncryptedDigest"); encryptedDigest = (byte[]) val.getValue(); diff --git a/gnu/java/security/prng/BasePRNG.java b/gnu/java/security/prng/BasePRNG.java index 35b6c441a..d9453b558 100644 --- a/gnu/java/security/prng/BasePRNG.java +++ b/gnu/java/security/prng/BasePRNG.java @@ -1,5 +1,6 @@ /* BasePRNG.java -- - Copyright (C) 2001, 2002, 2006, 2014 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2006, 2014, 2015 + Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -143,13 +144,13 @@ public abstract class BasePRNG } @Override - public void addRandomBytes(byte[] buffer) + public void addRandomBytes(byte[] buf) { - addRandomBytes(buffer, 0, buffer.length); + addRandomBytes(buf, 0, buf.length); } @Override - public void addRandomBytes(byte[] buffer, int offset, int length) + public void addRandomBytes(byte[] buf, int offset, int length) { throw new UnsupportedOperationException("random state is non-modifiable"); } @@ -174,8 +175,8 @@ public abstract class BasePRNG public Object clone() throws CloneNotSupportedException { BasePRNG result = (BasePRNG) super.clone(); - if (this.buffer != null) - result.buffer = (byte[]) this.buffer.clone(); + if (buffer != null) + result.buffer = buffer.clone(); return result; } diff --git a/gnu/java/security/prng/MDGenerator.java b/gnu/java/security/prng/MDGenerator.java index 66c1bd85a..781d139c8 100644 --- a/gnu/java/security/prng/MDGenerator.java +++ b/gnu/java/security/prng/MDGenerator.java @@ -1,5 +1,6 @@ /* MDGenerator.java -- - Copyright (C) 2001, 2002, 2006, 2014 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2006, 2014, 2015 + Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -54,7 +55,6 @@ import java.util.Map; */ public class MDGenerator extends BasePRNG - implements Cloneable { /** Property name of underlying hash algorithm for this generator. */ public static final String MD_NAME = "gnu.crypto.prng.md.hash.name"; diff --git a/gnu/java/security/prng/RandomEvent.java b/gnu/java/security/prng/RandomEvent.java index eea21b576..674b52959 100644 --- a/gnu/java/security/prng/RandomEvent.java +++ b/gnu/java/security/prng/RandomEvent.java @@ -1,5 +1,5 @@ /* RandomEvent.java -- an event with random data. - Copyright (C) 2004, 2006, 2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2014, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -63,7 +63,7 @@ public class RandomEvent if (data.length == 0 || data.length > 32) throw new IllegalArgumentException( "random events take between 1 and 32 bytes of data"); - this.data = (byte[]) data.clone(); + this.data = data.clone(); } public byte getSourceNumber() diff --git a/gnu/java/security/provider/DefaultPolicy.java b/gnu/java/security/provider/DefaultPolicy.java index 566c949da..d54b6a5dc 100644 --- a/gnu/java/security/provider/DefaultPolicy.java +++ b/gnu/java/security/provider/DefaultPolicy.java @@ -1,5 +1,5 @@ /* DefaultPolicy.java -- - Copyright (C) 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -54,6 +54,7 @@ public class DefaultPolicy extends Policy { static Permission allPermission = new AllPermission(); + @Override public PermissionCollection getPermissions(CodeSource codesource) { Permissions perms = new Permissions(); @@ -61,6 +62,7 @@ public class DefaultPolicy extends Policy return perms; } + @Override public void refresh() { // Nothing. diff --git a/gnu/java/security/provider/Gnu.java b/gnu/java/security/provider/Gnu.java index 1410d9cbf..b1d5c80b2 100644 --- a/gnu/java/security/provider/Gnu.java +++ b/gnu/java/security/provider/Gnu.java @@ -57,6 +57,7 @@ public final class Gnu + "key pair generator"); AccessController.doPrivileged (new PrivilegedAction<Void>() { + @Override public Void run() { // Note that all implementation class names are referenced by using diff --git a/gnu/java/security/provider/PKIXCertPathValidatorImpl.java b/gnu/java/security/provider/PKIXCertPathValidatorImpl.java index 7d6169175..e7504b013 100644 --- a/gnu/java/security/provider/PKIXCertPathValidatorImpl.java +++ b/gnu/java/security/provider/PKIXCertPathValidatorImpl.java @@ -1,5 +1,6 @@ /* PKIXCertPathValidatorImpl.java -- PKIX certificate path validator. - Copyright (C) 2004, 2005, 2006, 2010, 2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2006, 2010, 2014, 2015 + Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -110,6 +111,7 @@ public class PKIXCertPathValidatorImpl super(); } + @Override public CertPathValidatorResult engineValidate(CertPath path, CertPathParameters params) throws CertPathValidatorException, InvalidAlgorithmParameterException @@ -144,7 +146,7 @@ public class PKIXCertPathValidatorImpl X509Certificate[] p = null; try { - p = (X509Certificate[]) l.toArray(new X509Certificate[l.size()]); + p = l.toArray(new X509Certificate[l.size()]); } catch (ClassCastException cce) { @@ -287,8 +289,7 @@ public class PKIXCertPathValidatorImpl continue; if (xcrl.isRevoked(p[i - 1])) throw new CertPathValidatorException("certificate is revoked"); - else - certOk = true; + certOk = true; } if (! certOk) throw new CertPathValidatorException( @@ -672,7 +673,7 @@ public class PKIXCertPathValidatorImpl throw new CertPathValidatorException("policy tree building failed"); } - private boolean checkExplicitPolicy(int depth, List<int[]> explicitPolicies) + private static boolean checkExplicitPolicy(int depth, List<int[]> explicitPolicies) { if (Configuration.DEBUG) log.fine("checkExplicitPolicy depth=" + depth); diff --git a/gnu/java/security/provider/X509CertificateFactory.java b/gnu/java/security/provider/X509CertificateFactory.java index 4fc13d238..a76913da6 100644 --- a/gnu/java/security/provider/X509CertificateFactory.java +++ b/gnu/java/security/provider/X509CertificateFactory.java @@ -1,5 +1,5 @@ /* X509CertificateFactory.java -- generates X.509 certificates. - Copyright (C) 2003, 2014 Free Software Foundation, Inc. + Copyright (C) 2003, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -183,7 +183,7 @@ public class X509CertificateFactory return X509CertPath.ENCODINGS.iterator(); } - private X509Certificate generateCert(InputStream inStream) + private static X509Certificate generateCert(InputStream inStream) throws IOException, CertificateException { if (inStream == null) @@ -235,15 +235,12 @@ public class X509CertificateFactory throw new CertificateException("no end-of-certificate marker"); return ret; } - else - { - inStream.reset(); - return new X509Certificate(inStream); - } + inStream.reset(); + return new X509Certificate(inStream); } - private X509CRL generateCRL(InputStream inStream) throws IOException, - CRLException + private static X509CRL generateCRL(InputStream inStream) + throws IOException, CRLException { if (inStream == null) throw new CRLException("missing input stream"); @@ -294,10 +291,7 @@ public class X509CertificateFactory throw new CRLException("no end-of-CRL marker"); return ret; } - else - { - inStream.reset(); - return new X509CRL(inStream); - } + inStream.reset(); + return new X509CRL(inStream); } } diff --git a/gnu/java/security/sig/SignatureCodecFactory.java b/gnu/java/security/sig/SignatureCodecFactory.java index 7bf04ff40..59ef812ed 100644 --- a/gnu/java/security/sig/SignatureCodecFactory.java +++ b/gnu/java/security/sig/SignatureCodecFactory.java @@ -1,5 +1,5 @@ /* SignatureCodecFactory.java -- Factory to instantiate Signature codecs - Copyright (C) 2006, 2014 Free Software Foundation, Inc. + Copyright (C) 2006, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -145,9 +145,9 @@ public class SignatureCodecFactory return getRawCodec(name); case Registry.X509_ENCODING_ID: return getX509Codec(name); + default: + return null; } - - return null; } /** diff --git a/gnu/java/security/sig/dss/DSSSignature.java b/gnu/java/security/sig/dss/DSSSignature.java index 5e098e337..9b65df54e 100644 --- a/gnu/java/security/sig/dss/DSSSignature.java +++ b/gnu/java/security/sig/dss/DSSSignature.java @@ -220,7 +220,7 @@ public class DSSSignature * @return an object encapsulating the DSS signature pair <code>r</code> and * <code>s</code>. */ - private Object encodeSignature(BigInteger r, BigInteger s) + private static Object encodeSignature(BigInteger r, BigInteger s) { return new BigInteger[] { r, s }; } @@ -231,7 +231,7 @@ public class DSSSignature * * @return the DSS signature pair <code>r</code> and <code>s</code>. */ - private BigInteger[] decodeSignature(Object signature) + private static BigInteger[] decodeSignature(Object signature) { return (BigInteger[]) signature; } diff --git a/gnu/java/security/sig/dss/DSSSignatureRawCodec.java b/gnu/java/security/sig/dss/DSSSignatureRawCodec.java index 169f84bd1..1c21d5ef6 100644 --- a/gnu/java/security/sig/dss/DSSSignatureRawCodec.java +++ b/gnu/java/security/sig/dss/DSSSignatureRawCodec.java @@ -1,5 +1,6 @@ /* DSSSignatureRawCodec.java -- - Copyright (C) 2001, 2002, 2003, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2006, 2015 + Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -51,6 +52,7 @@ import java.math.BigInteger; public class DSSSignatureRawCodec implements ISignatureCodec { + @Override public int getFormatID() { return RAW_FORMAT; @@ -86,6 +88,7 @@ public class DSSSignatureRawCodec * @exception IllegalArgumentException if the designated signature is not a * DSS (Digital Signature Standard) one. */ + @Override public byte[] encodeSignature(Object signature) { BigInteger r, s; @@ -126,6 +129,7 @@ public class DSSSignatureRawCodec return baos.toByteArray(); } + @Override public Object decodeSignature(byte[] k) { // magic diff --git a/gnu/java/security/sig/dss/DSSSignatureX509Codec.java b/gnu/java/security/sig/dss/DSSSignatureX509Codec.java index f7aeda4f0..6d97ccac5 100644 --- a/gnu/java/security/sig/dss/DSSSignatureX509Codec.java +++ b/gnu/java/security/sig/dss/DSSSignatureX509Codec.java @@ -1,5 +1,5 @@ /* DSSSignatureX509Codec.java -- X.509 encoder/decoder for DSS signatures - Copyright (C) 2006, 2014 Free Software Foundation, Inc. + Copyright (C) 2006, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -103,6 +103,7 @@ public class DSSSignatureX509Codec { // implicit 0-arguments constructor + @Override public int getFormatID() { return Registry.X509_ENCODING_ID; @@ -123,6 +124,7 @@ public class DSSSignatureX509Codec * @throws InvalidParameterException if an exception occurs during the * marshalling process. */ + @Override public byte[] encodeSignature(Object signature) { BigInteger[] rs = (BigInteger[]) signature; @@ -162,6 +164,7 @@ public class DSSSignatureX509Codec * @throw InvalidParameterException if an exception occurs during the * unmarshalling process. */ + @Override public Object decodeSignature(byte[] input) { if (input == null) diff --git a/gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java b/gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java index fad0ac552..905413595 100644 --- a/gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java +++ b/gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java @@ -1,5 +1,6 @@ /* EMSA_PKCS1_V1_5.java -- - Copyright (C) 2003, 2006, 2014 Free Software Foundation, Inc. + Copyright (C) 2003, 2006, 2014, 2015 + Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -171,6 +172,7 @@ public class EMSA_PKCS1_V1_5 return new EMSA_PKCS1_V1_5(hash); } + @Override public Object clone() { return getInstance(hash.name()); diff --git a/gnu/java/security/sig/rsa/EMSA_PSS.java b/gnu/java/security/sig/rsa/EMSA_PSS.java index 7a8e591a3..38a0af1ff 100644 --- a/gnu/java/security/sig/rsa/EMSA_PSS.java +++ b/gnu/java/security/sig/rsa/EMSA_PSS.java @@ -1,5 +1,6 @@ /* EMSA_PSS.java -- - Copyright (C) 2001, 2002, 2003, 2006, 2010 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2006, 2010, 2015 + Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -109,6 +110,7 @@ public class EMSA_PSS return new EMSA_PSS(hash); } + @Override public Object clone() { return getInstance(hash.name()); diff --git a/gnu/java/security/sig/rsa/RSA.java b/gnu/java/security/sig/rsa/RSA.java index 343b2cf65..9a99e2404 100644 --- a/gnu/java/security/sig/rsa/RSA.java +++ b/gnu/java/security/sig/rsa/RSA.java @@ -242,6 +242,7 @@ public class RSA return result; } + @SuppressWarnings("null") // r != null if rsaBlinding = true private static final BigInteger RSADP(final RSAPrivateKey K, BigInteger c) { // 1. If the representative c is not between 0 and n - 1, output diff --git a/gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java b/gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java index 1420331de..9e350b50e 100644 --- a/gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java +++ b/gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java @@ -1,5 +1,5 @@ /* RSAPKCS1V1_5Signature.java -- - Copyright (C) 2001, 2002, 2003, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -111,11 +111,13 @@ public class RSAPKCS1V1_5Signature this.pkcs1 = (EMSA_PKCS1_V1_5) that.pkcs1.clone(); } + @Override public Object clone() { return new RSAPKCS1V1_5Signature(this); } + @Override protected void setupForVerification(final PublicKey k) throws IllegalArgumentException { @@ -125,6 +127,7 @@ public class RSAPKCS1V1_5Signature publicKey = k; } + @Override protected void setupForSigning(final PrivateKey k) throws IllegalArgumentException { @@ -134,6 +137,7 @@ public class RSAPKCS1V1_5Signature privateKey = k; } + @Override protected Object generateSignature() throws IllegalStateException { // 1. EMSA-PKCS1-v1_5 encoding: Apply the EMSA-PKCS1-v1_5 encoding @@ -163,6 +167,7 @@ public class RSAPKCS1V1_5Signature return RSA.I2OSP(s, k); } + @Override protected boolean verifySignature(final Object sig) throws IllegalStateException { diff --git a/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.java b/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.java index 548dc3deb..f1e09718a 100644 --- a/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.java +++ b/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.java @@ -1,5 +1,5 @@ /* RSAPKCS1V1_5SignatureRawCodec.java -- Raw RSA PKCS1 v1.5 signature codeec - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -50,6 +50,7 @@ import gnu.java.security.sig.ISignatureCodec; public class RSAPKCS1V1_5SignatureRawCodec implements ISignatureCodec { + @Override public int getFormatID() { return RAW_FORMAT; @@ -79,6 +80,7 @@ public class RSAPKCS1V1_5SignatureRawCodec * @exception IllegalArgumentException if the designated signature is not an * RSA-PKCS#1 (v1.5) one. */ + @Override public byte[] encodeSignature(Object signature) { byte[] buffer; @@ -124,6 +126,7 @@ public class RSAPKCS1V1_5SignatureRawCodec * with the right <i>magic</i> characters, or if the <i>version</i> * is not supported. */ + @Override public Object decodeSignature(byte[] input) { // magic diff --git a/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java b/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java index ee8586f7d..c6fd5d340 100644 --- a/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java +++ b/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java @@ -1,5 +1,5 @@ /* RSAPSSSignatureX509Codec.java -- X.509 encoder/decoder for RSA signatures - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -87,6 +87,7 @@ public class RSAPKCS1V1_5SignatureX509Codec { // default 0-arguments constructor + @Override public int getFormatID() { return Registry.X509_ENCODING_ID; @@ -103,6 +104,7 @@ public class RSAPKCS1V1_5SignatureX509Codec * @return the raw bytes of an RSA signature which could be then used as the * contents of a BIT STRING as per rfc-2459. */ + @Override public byte[] encodeSignature(Object signature) { byte[] result = (byte[]) signature; @@ -118,6 +120,7 @@ public class RSAPKCS1V1_5SignatureX509Codec * case of RSA PKCS1 (v1.5) this is the same as the input. * @throw InvalidParameterException if the <code>input</code> array is null. */ + @Override public Object decodeSignature(byte[] input) { if (input == null) diff --git a/gnu/java/security/sig/rsa/RSAPSSSignature.java b/gnu/java/security/sig/rsa/RSAPSSSignature.java index 7b042f77f..f9aaade48 100644 --- a/gnu/java/security/sig/rsa/RSAPSSSignature.java +++ b/gnu/java/security/sig/rsa/RSAPSSSignature.java @@ -1,5 +1,6 @@ /* RSAPSSSignature.java -- - Copyright (C) 2001, 2002, 2003, 2006, 2010 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2006, 2010, 2015 + Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -136,28 +137,32 @@ public class RSAPSSSignature this.pss = (EMSA_PSS) that.pss.clone(); } + @Override public Object clone() { return new RSAPSSSignature(this); } + @Override protected void setupForVerification(PublicKey k) throws IllegalArgumentException { if (! (k instanceof RSAPublicKey)) throw new IllegalArgumentException(); - publicKey = (RSAPublicKey) k; + publicKey = k; } + @Override protected void setupForSigning(PrivateKey k) throws IllegalArgumentException { if (! (k instanceof RSAPrivateKey)) throw new IllegalArgumentException(); - privateKey = (RSAPrivateKey) k; + privateKey = k; } + @Override protected Object generateSignature() throws IllegalStateException { // 1. Apply the EMSA-PSS encoding operation to the message M to produce an @@ -189,6 +194,7 @@ public class RSAPSSSignature return RSA.I2OSP(s, k); } + @Override protected boolean verifySignature(Object sig) throws IllegalStateException { if (publicKey == null) diff --git a/gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java b/gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java index b147ea3ea..7b1166291 100644 --- a/gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java +++ b/gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java @@ -1,5 +1,5 @@ /* RSAPSSSignatureRawCodec.java -- - Copyright (C) 2001, 2002, 2003, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -52,6 +52,7 @@ public class RSAPSSSignatureRawCodec { // implicit 0-arguments constructor + @Override public int getFormatID() { return RAW_FORMAT; @@ -80,6 +81,7 @@ public class RSAPSSSignatureRawCodec * @exception IllegalArgumentException if the designated signature is not an * RSA-PSS one. */ + @Override public byte[] encodeSignature(Object signature) { byte[] buffer; @@ -109,6 +111,7 @@ public class RSAPSSSignatureRawCodec return baos.toByteArray(); } + @Override public Object decodeSignature(byte[] k) { // magic diff --git a/gnu/java/security/util/ByteArray.java b/gnu/java/security/util/ByteArray.java index a9b9e5d00..c7f8dce11 100644 --- a/gnu/java/security/util/ByteArray.java +++ b/gnu/java/security/util/ByteArray.java @@ -1,5 +1,5 @@ /* ByteArray.java -- wrapper around a byte array, with nice toString output. - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -57,6 +57,7 @@ public final class ByteArray return value; } + @Override public String toString () { StringWriter str = new StringWriter (); diff --git a/gnu/java/security/util/ByteBufferOutputStream.java b/gnu/java/security/util/ByteBufferOutputStream.java index 642ccdf68..70dc909c7 100644 --- a/gnu/java/security/util/ByteBufferOutputStream.java +++ b/gnu/java/security/util/ByteBufferOutputStream.java @@ -1,6 +1,6 @@ /* ByteBufferOutputStream.java -- output stream with a growable underlying byte buffer. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -98,6 +98,7 @@ public class ByteBufferOutputStream extends OutputStream return ((ByteBuffer) buffer.duplicate().flip()).slice(); } + @Override public String toString() { return super.toString() + " [ buffer: " + buffer + " ]"; diff --git a/gnu/java/security/util/ExpirableObject.java b/gnu/java/security/util/ExpirableObject.java index e24af249a..c2551c70b 100644 --- a/gnu/java/security/util/ExpirableObject.java +++ b/gnu/java/security/util/ExpirableObject.java @@ -1,5 +1,5 @@ /* ExpirableObject.java -- an object that is automatically destroyed. - Copyright (C) 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -107,6 +107,7 @@ public abstract class ExpirableObject * * @throws DestroyFailedException If this operation fails. */ + @Override public final void destroy() throws DestroyFailedException { doDestroy(); @@ -135,6 +136,7 @@ public abstract class ExpirableObject this.target = target; } + @Override public void run() { try diff --git a/gnu/java/security/util/FormatUtil.java b/gnu/java/security/util/FormatUtil.java index 35da322b8..e9bb253f8 100644 --- a/gnu/java/security/util/FormatUtil.java +++ b/gnu/java/security/util/FormatUtil.java @@ -1,5 +1,5 @@ /* FormatUtil.java -- Encoding and decoding format utility methods - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -60,7 +60,7 @@ public class FormatUtil */ public static final String getEncodingName(int formatID) { - String result = null; + String result; switch (formatID) { case Registry.RAW_ENCODING_ID: @@ -75,6 +75,8 @@ public class FormatUtil case Registry.ASN1_ENCODING_ID: result = Registry.ASN1_ENCODING; break; + default: + result = null; } return result; @@ -90,7 +92,7 @@ public class FormatUtil */ public static final String getEncodingShortName(int formatID) { - String result = null; + String result; switch (formatID) { case Registry.RAW_ENCODING_ID: @@ -105,6 +107,8 @@ public class FormatUtil case Registry.ASN1_ENCODING_ID: result = Registry.ASN1_ENCODING_SHORT_NAME; break; + default: + result = null; } return result; diff --git a/gnu/java/security/util/Sequence.java b/gnu/java/security/util/Sequence.java index 8069ce891..ac9427137 100644 --- a/gnu/java/security/util/Sequence.java +++ b/gnu/java/security/util/Sequence.java @@ -1,5 +1,5 @@ /* Sequence.java -- a sequence of integers. - Copyright (C) 2004, 2006, 2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2014, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -122,13 +122,15 @@ public final class Sequence return sequence[index]; } + @Override public int size() { return sequence.length; } + @Override public Object[] toArray() { - return (Object[]) sequence.clone(); + return sequence.clone(); } } diff --git a/gnu/java/security/util/SimpleList.java b/gnu/java/security/util/SimpleList.java index 2d3bd3525..cf0d64b3c 100644 --- a/gnu/java/security/util/SimpleList.java +++ b/gnu/java/security/util/SimpleList.java @@ -1,5 +1,5 @@ /* SimpleList.java -- simple way to make tuples. - Copyright (C) 2004, 2006, 2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2014, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -131,6 +131,7 @@ public final class SimpleList elements[i++] = o; } + @Override public int size() { if (elements == null) @@ -138,6 +139,7 @@ public final class SimpleList return elements.length; } + @Override public Object get(int index) { if (elements == null) @@ -147,6 +149,7 @@ public final class SimpleList return elements[index]; } + @Override public String toString() { return SimpleList.class.getName() + "(" + size() + ") " + super.toString(); diff --git a/gnu/java/security/util/Util.java b/gnu/java/security/util/Util.java index ef3d480a0..5bbb7264b 100644 --- a/gnu/java/security/util/Util.java +++ b/gnu/java/security/util/Util.java @@ -1,5 +1,5 @@ /* Util.java -- various utility routines. - Copyright (C) 2001, 2002, 2003, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -467,6 +467,7 @@ public class Util b1 = buffer[0]; b2 = buffer[1]; break; + default: // do nothing } CPStringBuilder sb = new CPStringBuilder(); int c; @@ -499,19 +500,16 @@ public class Util } if (pos >= len) break; - else - { - try - { - b0 = buffer[pos++]; - b1 = buffer[pos++]; - b2 = buffer[pos++]; - } - catch (ArrayIndexOutOfBoundsException x) - { - break; - } - } + try + { + b0 = buffer[pos++]; + b1 = buffer[pos++]; + b2 = buffer[pos++]; + } + catch (ArrayIndexOutOfBoundsException x) + { + break; + } } while (true); diff --git a/gnu/java/security/x509/PolicyNodeImpl.java b/gnu/java/security/x509/PolicyNodeImpl.java index 65dd472c7..c5c74cd14 100644 --- a/gnu/java/security/x509/PolicyNodeImpl.java +++ b/gnu/java/security/x509/PolicyNodeImpl.java @@ -1,5 +1,5 @@ /* PolicyNodeImpl.java -- An implementation of a policy tree node. - Copyright (C) 2004, 2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -116,11 +116,11 @@ public final class PolicyNodeImpl implements PolicyNode expectedPolicies.addAll(policies); } - public void addExpectedPolicy(String policy) + public void addExpectedPolicy(String expectedPolicy) { if (readOnly) throw new IllegalStateException("read only"); - expectedPolicies.add(policy); + expectedPolicies.add(expectedPolicy); } @Override @@ -135,14 +135,18 @@ public final class PolicyNodeImpl implements PolicyNode return parent; } - public void addAllPolicyQualifiers (Collection<? extends PolicyQualifierInfo> qualifiers) + public void addAllPolicyQualifiers (Collection<? extends PolicyQualifierInfo> policyQualifiers) { - for (Iterator<? extends PolicyQualifierInfo> it = qualifiers.iterator(); it.hasNext(); ) + try { - if (!(it.next() instanceof PolicyQualifierInfo)) - throw new IllegalArgumentException ("can only add PolicyQualifierInfos"); + for (Iterator<? extends PolicyQualifierInfo> it = policyQualifiers.iterator(); it.hasNext();) { it.next(); } } - this.qualifiers.addAll (qualifiers); + catch (ClassCastException ex) + { + throw new IllegalArgumentException ("can only add PolicyQualifierInfos", + ex); + } + qualifiers.addAll (policyQualifiers); } public void addPolicyQualifier (PolicyQualifierInfo qualifier) @@ -192,7 +196,8 @@ public final class PolicyNodeImpl implements PolicyNode for (Iterator<? extends PolicyNode> it = getChildren(); it.hasNext(); ) ((PolicyNodeImpl) it.next()).setReadOnly(); } - + + @Override public String toString() { CPStringBuilder buf = new CPStringBuilder(); diff --git a/gnu/java/security/x509/X500DistinguishedName.java b/gnu/java/security/x509/X500DistinguishedName.java index ab7f99aa9..7c028444c 100644 --- a/gnu/java/security/x509/X500DistinguishedName.java +++ b/gnu/java/security/x509/X500DistinguishedName.java @@ -1,5 +1,5 @@ /* X500DistinguishedName.java -- X.500 distinguished name. - Copyright (C) 2004, 2006, 2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -99,17 +99,10 @@ public class X500DistinguishedName implements Principal components.add(currentRdn); } - public X500DistinguishedName(String name) + public X500DistinguishedName(String name) throws IOException { this(); - try - { - parseString(name); - } - catch (IOException ioe) - { - throw new IllegalArgumentException(ioe.toString()); - } + parseString(name); } public X500DistinguishedName(byte[] encoded) throws IOException @@ -127,6 +120,7 @@ public class X500DistinguishedName implements Principal // Instance methods. // ------------------------------------------------------------------------- + @Override public String getName() { return toString(); @@ -246,6 +240,7 @@ public class X500DistinguishedName implements Principal currentRdn = Collections.emptyMap(); } + @Override public int hashCode() { int sum = 0; @@ -261,6 +256,7 @@ public class X500DistinguishedName implements Principal return sum; } + @Override public boolean equals(Object o) { if (!(o instanceof X500DistinguishedName)) @@ -282,6 +278,7 @@ public class X500DistinguishedName implements Principal return true; } + @Override public String toString() { if (fixed && stringRep != null) @@ -332,7 +329,7 @@ public class X500DistinguishedName implements Principal public byte[] getDer() { if (fixed && encoded != null) - return (byte[]) encoded.clone(); + return encoded.clone(); ArrayList<DERValue> name = new ArrayList<DERValue>(components.size()); for (Map<OID,String> m : components) @@ -351,7 +348,7 @@ public class X500DistinguishedName implements Principal name.add(new DERValue(DER.SET|DER.CONSTRUCTED, rdn)); } DERValue val = new DERValue(DER.SEQUENCE|DER.CONSTRUCTED, name); - return (byte[]) (encoded = val.getEncoded()).clone(); + return (encoded = val.getEncoded()).clone(); } // Own methods. @@ -375,7 +372,7 @@ public class X500DistinguishedName implements Principal setUnmodifiable(); } - private String readAttributeType(Reader in) throws IOException + private static String readAttributeType(Reader in) throws IOException { CPStringBuilder buf = new CPStringBuilder(); int ch; diff --git a/gnu/java/security/x509/X509CRL.java b/gnu/java/security/x509/X509CRL.java index 9e1ed0f5c..b95c411ac 100644 --- a/gnu/java/security/x509/X509CRL.java +++ b/gnu/java/security/x509/X509CRL.java @@ -136,6 +136,7 @@ public class X509CRL extends java.security.cert.X509CRL // X509CRL methods. // ------------------------------------------------------------------------ + @Override public boolean equals(Object o) { if (!(o instanceof X509CRL)) @@ -143,6 +144,7 @@ public class X509CRL extends java.security.cert.X509CRL return ((X509CRL) o).getRevokedCertificates().equals(revokedCerts.values()); } + @Override public int hashCode() { return revokedCerts.hashCode(); @@ -151,7 +153,7 @@ public class X509CRL extends java.security.cert.X509CRL @Override public byte[] getEncoded() throws CRLException { - return (byte[]) encoded.clone(); + return encoded.clone(); } @Override @@ -184,6 +186,7 @@ public class X509CRL extends java.security.cert.X509CRL return issuerDN; } + @Override public X500Principal getIssuerX500Principal() { return new X500Principal(issuerDN.getDer()); @@ -218,13 +221,13 @@ public class X509CRL extends java.security.cert.X509CRL @Override public byte[] getTBSCertList() throws CRLException { - return (byte[]) tbsCRLBytes.clone(); + return tbsCRLBytes.clone(); } @Override public byte[] getSignature() { - return (byte[]) rawSig.clone(); + return rawSig.clone(); } @Override @@ -251,13 +254,14 @@ public class X509CRL extends java.security.cert.X509CRL public byte[] getSigAlgParams() { if (sigAlgParams != null) - return (byte[]) sigAlgParams.clone(); + return sigAlgParams.clone(); return null; } // X509Extension methods. // ------------------------------------------------------------------------ + @Override public boolean hasUnsupportedCriticalExtension() { for (Extension e : extensions.values()) @@ -267,7 +271,8 @@ public class X509CRL extends java.security.cert.X509CRL } return false; } - + + @Override public Set<String> getCriticalExtensionOIDs() { HashSet<String> s = new HashSet<String>(); @@ -279,6 +284,7 @@ public class X509CRL extends java.security.cert.X509CRL return Collections.unmodifiableSet(s); } + @Override public Set<String> getNonCriticalExtensionOIDs() { HashSet<String> s = new HashSet<String>(); @@ -290,6 +296,7 @@ public class X509CRL extends java.security.cert.X509CRL return Collections.unmodifiableSet(s); } + @Override public byte[] getExtensionValue(String oid) { Extension e = getExtension(new OID(oid)); @@ -324,13 +331,14 @@ public class X509CRL extends java.security.cert.X509CRL return X509CRL.class.getName(); } + @Override public boolean isRevoked(Certificate cert) { if (!(cert instanceof java.security.cert.X509Certificate)) throw new IllegalArgumentException("not a X.509 certificate"); BigInteger certSerial = ((java.security.cert.X509Certificate) cert).getSerialNumber(); - X509CRLEntry ent = (X509CRLEntry) revokedCerts.get(certSerial); + X509CRLEntry ent = revokedCerts.get(certSerial); if (ent == null) return false; return ent.getRevocationDate().compareTo(new Date()) < 0; @@ -485,7 +493,7 @@ public class X509CRL extends java.security.cert.X509CRL if (Configuration.DEBUG) log.fine("sig params tag = " + val.getTag() + " len == " + val.getEncodedLength()); - sigAlgParams = (byte[]) val.getEncoded(); + sigAlgParams = val.getEncoded(); if (val.isConstructed()) in.skip(val.getLength()); } diff --git a/gnu/java/security/x509/X509CRLEntry.java b/gnu/java/security/x509/X509CRLEntry.java index b54f8eae6..d0c8da1d4 100644 --- a/gnu/java/security/x509/X509CRLEntry.java +++ b/gnu/java/security/x509/X509CRLEntry.java @@ -131,7 +131,7 @@ class X509CRLEntry extends java.security.cert.X509CRLEntry @Override public byte[] getEncoded() throws CRLException { - return (byte[]) encoded.clone(); + return encoded.clone(); } @Override @@ -162,6 +162,7 @@ class X509CRLEntry extends java.security.cert.X509CRLEntry // X509Extension methods. // ------------------------------------------------------------------------- + @Override public boolean hasUnsupportedCriticalExtension() { for (Extension e : extensions.values()) @@ -172,6 +173,7 @@ class X509CRLEntry extends java.security.cert.X509CRLEntry return false; } + @Override public Set<String> getCriticalExtensionOIDs() { HashSet<String> s = new HashSet<String>(); @@ -183,6 +185,7 @@ class X509CRLEntry extends java.security.cert.X509CRLEntry return Collections.unmodifiableSet(s); } + @Override public Set<String> getNonCriticalExtensionOIDs() { HashSet<String> s = new HashSet<String>(); @@ -194,6 +197,7 @@ class X509CRLEntry extends java.security.cert.X509CRLEntry return Collections.unmodifiableSet(s); } + @Override public byte[] getExtensionValue(String oid) { Extension e = getExtension(new OID(oid)); diff --git a/gnu/java/security/x509/X509CRLSelectorImpl.java b/gnu/java/security/x509/X509CRLSelectorImpl.java index c8f25d58d..9112aabf1 100644 --- a/gnu/java/security/x509/X509CRLSelectorImpl.java +++ b/gnu/java/security/x509/X509CRLSelectorImpl.java @@ -1,5 +1,5 @@ /* X509CRLSelectorImpl.java -- implementation of an X509CRLSelector. - Copyright (C) 2004, 2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -80,7 +80,7 @@ public class X509CRLSelectorImpl implements CRLSelector issuerNames.add(new X500DistinguishedName(issuerName)); } - public void addIssuerName(String issuerName) + public void addIssuerName(String issuerName) throws IOException { issuerNames.add(new X500DistinguishedName(issuerName)); } diff --git a/gnu/java/security/x509/X509CertPath.java b/gnu/java/security/x509/X509CertPath.java index d2e12d269..d1be2ee27 100644 --- a/gnu/java/security/x509/X509CertPath.java +++ b/gnu/java/security/x509/X509CertPath.java @@ -1,5 +1,5 @@ /* X509CertPath.java -- an X.509 certificate path. - Copyright (C) 2004, 2014 Free Software Fonudation, Inc. + Copyright (C) 2004, 2014, 2015 Free Software Fonudation, Inc. This file is part of GNU Classpath. @@ -117,16 +117,19 @@ public class X509CertPath extends CertPath // Instance methods. // ------------------------------------------------------------------------- + @Override public List<Certificate> getCertificates() { return path; // already unmodifiable } + @Override public byte[] getEncoded() throws CertificateEncodingException { return getEncoded(ENCODINGS.get(0)); } + @Override public byte[] getEncoded(String encoding) throws CertificateEncodingException { if (encoding.equalsIgnoreCase("PkiPath")) @@ -142,7 +145,7 @@ public class X509CertPath extends CertPath throw new CertificateEncodingException(); } } - return (byte[]) pkiEncoded.clone(); + return pkiEncoded.clone(); } else if (encoding.equalsIgnoreCase("PKCS7")) { @@ -157,12 +160,13 @@ public class X509CertPath extends CertPath throw new CertificateEncodingException(); } } - return (byte[]) pkcsEncoded.clone(); + return pkcsEncoded.clone(); } else throw new CertificateEncodingException("unknown encoding: " + encoding); } + @Override public Iterator<String> getEncodings() { return ENCODINGS.iterator(); // already unmodifiable @@ -175,12 +179,12 @@ public class X509CertPath extends CertPath throws CertificateEncodingException, IOException { DERReader der = new DERReader(in); - DERValue path = null; + DERValue parsedPath = null; if (encoding.equalsIgnoreCase("PkiPath")) { // PKI encoding is just a SEQUENCE of X.509 certificates. - path = der.read(); - if (!path.isConstructed()) + parsedPath = der.read(); + if (!parsedPath.isConstructed()) throw new DEREncodingException("malformed PkiPath"); } else if (encoding.equalsIgnoreCase("PKCS7")) @@ -226,8 +230,8 @@ public class X509CertPath extends CertPath if (!value.isConstructed()) throw new DEREncodingException("malformed ContentInfo"); der.skip(value.getLength()); - path = der.read(); - if (!path.isConstructed() || path.getTag() != 0) + parsedPath = der.read(); + if (!parsedPath.isConstructed() || parsedPath.getTag() != 0) throw new DEREncodingException("no certificates"); } else @@ -235,7 +239,7 @@ public class X509CertPath extends CertPath LinkedList<Certificate> certs = new LinkedList<Certificate>(); int len = 0; - while (len < path.getLength()) + while (len < parsedPath.getLength()) { DERValue cert = der.read(); try @@ -250,7 +254,7 @@ public class X509CertPath extends CertPath der.skip(cert.getLength()); } - this.path = Collections.unmodifiableList(certs); + path = Collections.unmodifiableList(certs); } private byte[] encodePki() diff --git a/gnu/java/security/x509/X509CertSelectorImpl.java b/gnu/java/security/x509/X509CertSelectorImpl.java index e7c7ff81b..7e778dda2 100644 --- a/gnu/java/security/x509/X509CertSelectorImpl.java +++ b/gnu/java/security/x509/X509CertSelectorImpl.java @@ -1,5 +1,5 @@ /* X509CertSelectorImpl.java -- implementation of an X509CertSelector. - Copyright (C) 2004, 2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -81,7 +81,7 @@ public class X509CertSelectorImpl implements CertSelector issuerNames.add(new X500DistinguishedName(issuerName)); } - public void addIssuerName(String issuerName) + public void addIssuerName(String issuerName) throws IOException { issuerNames.add(new X500DistinguishedName(issuerName)); } diff --git a/gnu/java/security/x509/X509Certificate.java b/gnu/java/security/x509/X509Certificate.java index c7856bd0c..22e213d17 100644 --- a/gnu/java/security/x509/X509Certificate.java +++ b/gnu/java/security/x509/X509Certificate.java @@ -1,5 +1,5 @@ /* X509Certificate.java -- X.509 certificate. - Copyright (C) 2003, 2004, 2006, 2014 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2006, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -56,7 +56,6 @@ import gnu.java.security.x509.ext.SubjectAlternativeNames; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; -import java.io.Serializable; import java.io.StringWriter; import java.math.BigInteger; import java.security.AlgorithmParameters; @@ -97,7 +96,7 @@ import javax.security.auth.x500.X500Principal; * @author Casey Marshall (rsdio@metastatic.org) */ public class X509Certificate extends java.security.cert.X509Certificate - implements Serializable, GnuPKIExtension + implements GnuPKIExtension { // Constants and fields. @@ -185,12 +184,14 @@ public class X509Certificate extends java.security.cert.X509Certificate // X509Certificate methods. // ------------------------------------------------------------------------ + @Override public void checkValidity() throws CertificateExpiredException, CertificateNotYetValidException { checkValidity(new Date()); } + @Override public void checkValidity(Date date) throws CertificateExpiredException, CertificateNotYetValidException { @@ -203,57 +204,68 @@ public class X509Certificate extends java.security.cert.X509Certificate throw new CertificateExpiredException(); } } - + + @Override public int getVersion() { return version; } + @Override public BigInteger getSerialNumber() { return serialNo; } + @Override public Principal getIssuerDN() { return issuer; } + @Override public X500Principal getIssuerX500Principal() { return new X500Principal(issuer.getDer()); } + @Override public Principal getSubjectDN() { return subject; } + @Override public X500Principal getSubjectX500Principal() { return new X500Principal(subject.getDer()); } + @Override public Date getNotBefore() { return (Date) notBefore.clone(); } + @Override public Date getNotAfter() { return (Date) notAfter.clone(); } + @Override public byte[] getTBSCertificate() throws CertificateEncodingException { - return (byte[]) tbsCertBytes.clone(); + return tbsCertBytes.clone(); } + @Override public byte[] getSignature() { - return (byte[]) signature.clone(); + return signature.clone(); } + @Override public String getSigAlgName() { if (sigAlgId.equals(ID_DSA_WITH_SHA1)) @@ -275,16 +287,19 @@ public class X509Certificate extends java.security.cert.X509Certificate return "unknown"; } + @Override public String getSigAlgOID() { return sigAlgId.toString(); } + @Override public byte[] getSigAlgParams() { - return (byte[]) sigAlgVal.clone(); + return sigAlgVal.clone(); } + @Override public boolean[] getIssuerUniqueID() { if (issuerUniqueId != null) @@ -294,6 +309,7 @@ public class X509Certificate extends java.security.cert.X509Certificate return null; } + @Override public boolean[] getSubjectUniqueID() { if (subjectUniqueId != null) @@ -303,6 +319,7 @@ public class X509Certificate extends java.security.cert.X509Certificate return null; } + @Override public boolean[] getKeyUsage() { Extension e = getExtension(KeyUsage.ID); @@ -317,6 +334,7 @@ public class X509Certificate extends java.security.cert.X509Certificate return null; } + @Override public List<String> getExtendedKeyUsage() throws CertificateParsingException { Extension e = getExtension(ExtendedKeyUsage.ID); @@ -331,6 +349,7 @@ public class X509Certificate extends java.security.cert.X509Certificate return null; } + @Override public int getBasicConstraints() { Extension e = getExtension(BasicConstraints.ID); @@ -341,6 +360,7 @@ public class X509Certificate extends java.security.cert.X509Certificate return -1; } + @Override public Collection<List<?>> getSubjectAlternativeNames() throws CertificateParsingException { @@ -353,7 +373,7 @@ public class X509Certificate extends java.security.cert.X509Certificate for (GeneralName name : names) { List<Object> n = new ArrayList<Object>(2); - n.add(name.kind().tag()); + n.add(Integer.valueOf(name.kind().tag())); n.add(name.name()); list.add(n); } @@ -362,6 +382,7 @@ public class X509Certificate extends java.security.cert.X509Certificate return null; } + @Override public Collection<List<?>> getIssuerAlternativeNames() throws CertificateParsingException { @@ -374,7 +395,7 @@ public class X509Certificate extends java.security.cert.X509Certificate for (GeneralName name : names) { List<Object> n = new ArrayList<Object>(2); - n.add(name.kind().tag()); + n.add(Integer.valueOf(name.kind().tag())); n.add(name.name()); list.add(n); } @@ -385,7 +406,8 @@ public class X509Certificate extends java.security.cert.X509Certificate // X509Extension methods. // ------------------------------------------------------------------------ - + + @Override public boolean hasUnsupportedCriticalExtension() { for (Extension e : extensions.values()) @@ -396,6 +418,7 @@ public class X509Certificate extends java.security.cert.X509Certificate return false; } + @Override public Set<String> getCriticalExtensionOIDs() { HashSet<String> s = new HashSet<String>(); @@ -407,6 +430,7 @@ public class X509Certificate extends java.security.cert.X509Certificate return Collections.unmodifiableSet(s); } + @Override public Set<String> getNonCriticalExtensionOIDs() { HashSet<String> s = new HashSet<String>(); @@ -418,6 +442,7 @@ public class X509Certificate extends java.security.cert.X509Certificate return Collections.unmodifiableSet(s); } + @Override public byte[] getExtensionValue(String oid) { Extension e = getExtension(new OID(oid)); @@ -446,11 +471,13 @@ public class X509Certificate extends java.security.cert.X509Certificate // Certificate methods. // ------------------------------------------------------------------------- + @Override public byte[] getEncoded() throws CertificateEncodingException { - return (byte[]) encoded.clone(); + return encoded.clone(); } + @Override public void verify(PublicKey key) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException @@ -459,6 +486,7 @@ public class X509Certificate extends java.security.cert.X509Certificate doVerify(sig, key); } + @Override public void verify(PublicKey key, String provider) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException @@ -467,6 +495,7 @@ public class X509Certificate extends java.security.cert.X509Certificate doVerify(sig, key); } + @Override public String toString() { StringWriter str = new StringWriter(); @@ -515,6 +544,7 @@ public class X509Certificate extends java.security.cert.X509Certificate return str.toString(); } + @Override public PublicKey getPublicKey() { return subjectKey; @@ -562,11 +592,11 @@ public class X509Certificate extends java.security.cert.X509Certificate /** * Parse a DER stream into an X.509 certificate. * - * @param encoded The encoded bytes. + * @param enc The encoded bytes. */ - private void parse(InputStream encoded) throws Exception + private void parse(InputStream enc) throws Exception { - DERReader der = new DERReader(encoded); + DERReader der = new DERReader(enc); // Certificate ::= SEQUENCE { DERValue cert = der.read(); @@ -635,7 +665,7 @@ public class X509Certificate extends java.security.cert.X509Certificate algVal = val.getEncoded(); if (val.isConstructed()) - encoded.skip(val.getLength()); + enc.skip(val.getLength()); } logger.log (Component.X509, "read algorithm parameters == {0}", algVal); } @@ -744,11 +774,11 @@ public class X509Certificate extends java.security.cert.X509Certificate } else { - sigAlgVal = (byte[]) val.getEncoded(); + sigAlgVal = val.getEncoded(); } if (val.isConstructed()) { - encoded.skip(val.getLength()); + enc.skip(val.getLength()); } logger.log (Component.X509, "read parameters == {0}", sigAlgVal); } diff --git a/gnu/java/security/x509/ext/AuthorityKeyIdentifier.java b/gnu/java/security/x509/ext/AuthorityKeyIdentifier.java index a94b76f09..de280b0e3 100644 --- a/gnu/java/security/x509/ext/AuthorityKeyIdentifier.java +++ b/gnu/java/security/x509/ext/AuthorityKeyIdentifier.java @@ -1,5 +1,5 @@ /* AuthorityKeyIdentifier.java -- Authority key identifier extension. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -123,6 +123,7 @@ public class AuthorityKeyIdentifier extends Extension.Value return authorityCertSerialNumber; } + @Override public String toString() { return AuthorityKeyIdentifier.class.getName() + " [ keyId=" + diff --git a/gnu/java/security/x509/ext/BasicConstraints.java b/gnu/java/security/x509/ext/BasicConstraints.java index 52d9f39cd..e4f031abc 100644 --- a/gnu/java/security/x509/ext/BasicConstraints.java +++ b/gnu/java/security/x509/ext/BasicConstraints.java @@ -1,5 +1,5 @@ /* BasicConstraints.java -- the basic constraints extension. - Copyright (C) 2004, 2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -107,6 +107,7 @@ public class BasicConstraints extends Extension.Value return pathLenConstraint; } + @Override public byte[] getEncoded() { if (encoded == null) @@ -115,12 +116,13 @@ public class BasicConstraints extends Extension.Value bc.add (new DERValue (DER.BOOLEAN, Boolean.valueOf (ca))); if (pathLenConstraint >= 0) bc.add (new DERValue (DER.INTEGER, - BigInteger.valueOf ((long) pathLenConstraint))); + BigInteger.valueOf (pathLenConstraint))); encoded = new DERValue (DER.CONSTRUCTED|DER.SEQUENCE, bc).getEncoded(); } - return (byte[]) encoded.clone(); + return encoded.clone(); } + @Override public String toString() { return BasicConstraints.class.getName() + " [ isCA=" + ca + diff --git a/gnu/java/security/x509/ext/CRLNumber.java b/gnu/java/security/x509/ext/CRLNumber.java index 36b1c7b5f..42c3cc7fc 100644 --- a/gnu/java/security/x509/ext/CRLNumber.java +++ b/gnu/java/security/x509/ext/CRLNumber.java @@ -1,5 +1,5 @@ /* CRLNumber.java -- CRL number extension. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -81,15 +81,17 @@ public class CRLNumber extends Extension.Value return number; } + @Override public byte[] getEncoded() { if (encoded == null) { encoded = new DERValue (DER.INTEGER, number).getEncoded(); } - return (byte[]) encoded.clone(); + return encoded.clone(); } + @Override public String toString() { return CRLNumber.class.getName() + " [ " + number + " ]"; diff --git a/gnu/java/security/x509/ext/CertificatePolicies.java b/gnu/java/security/x509/ext/CertificatePolicies.java index 9b36485b2..64879f933 100644 --- a/gnu/java/security/x509/ext/CertificatePolicies.java +++ b/gnu/java/security/x509/ext/CertificatePolicies.java @@ -1,5 +1,5 @@ /* CertificatePolicies.java -- certificate policy extension. - Copyright (C) 2004, 2006, 2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -146,8 +146,8 @@ public class CertificatePolicies extends Extension.Value } try { - for (Iterator<PolicyQualifierInfo> i = e.getValue().iterator(); - i.hasNext(); i.next()); + Iterator<PolicyQualifierInfo> i = e.getValue().iterator(); + while (i.hasNext()) { i.next(); } } catch (ClassCastException cce) { @@ -188,6 +188,7 @@ public class CertificatePolicies extends Extension.Value return policyQualifierInfos.get(oid); } + @Override public byte[] getEncoded() { if (encoded == null) @@ -219,9 +220,10 @@ public class CertificatePolicies extends Extension.Value } encoded = new DERValue(DER.CONSTRUCTED|DER.SEQUENCE, pol).getEncoded(); } - return (byte[]) encoded.clone(); + return encoded.clone(); } + @Override public String toString() { return CertificatePolicies.class.getName() + " [ policies=" + policies + diff --git a/gnu/java/security/x509/ext/ExtendedKeyUsage.java b/gnu/java/security/x509/ext/ExtendedKeyUsage.java index 428013d04..d6e08167b 100644 --- a/gnu/java/security/x509/ext/ExtendedKeyUsage.java +++ b/gnu/java/security/x509/ext/ExtendedKeyUsage.java @@ -1,5 +1,5 @@ /* ExtendedKeyUsage.java -- the extended key usage extension. - Copyright (C) 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -88,6 +88,7 @@ public class ExtendedKeyUsage extends Extension.Value return Collections.unmodifiableList(purposeIds); } + @Override public String toString() { return ExtendedKeyUsage.class.getName() + " [ " + purposeIds + " ]"; diff --git a/gnu/java/security/x509/ext/Extension.java b/gnu/java/security/x509/ext/Extension.java index b740c8ac4..c16c9303c 100644 --- a/gnu/java/security/x509/ext/Extension.java +++ b/gnu/java/security/x509/ext/Extension.java @@ -1,5 +1,5 @@ /* Extension.java -- an X.509 certificate or CRL extension. - Copyright (C) 2004, 2006, 2010 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2010, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -85,7 +85,7 @@ public class Extension public Extension(byte[] encoded) throws IOException { - this.encoded = (byte[]) encoded.clone(); + this.encoded = encoded.clone(); DERReader der = new DERReader(encoded); // Extension ::= SEQUENCE { @@ -220,9 +220,10 @@ public class Extension { if (encoded == null) encode(); - return (byte[]) encoded.clone(); + return encoded.clone(); } + @Override public String toString() { return Extension.class.getName() + " [ id=" + oid + " critical=" + @@ -262,7 +263,7 @@ public class Extension public Value(byte[] encoded) { - this.encoded = (byte[]) encoded.clone(); + this.encoded = encoded.clone(); } protected Value() { } @@ -272,9 +273,10 @@ public class Extension public byte[] getEncoded() { - return (byte[]) encoded; + return encoded; } + @Override public int hashCode() { int result = 0; @@ -283,6 +285,7 @@ public class Extension return result; } + @Override public boolean equals(Object o) { if (!(o instanceof Value)) @@ -290,6 +293,7 @@ public class Extension return Arrays.equals(encoded, ((Value) o).encoded); } + @Override public String toString() { return Util.toHexString(encoded, ':'); diff --git a/gnu/java/security/x509/ext/GeneralName.java b/gnu/java/security/x509/ext/GeneralName.java index f399de1b7..d4a7f9b5e 100644 --- a/gnu/java/security/x509/ext/GeneralName.java +++ b/gnu/java/security/x509/ext/GeneralName.java @@ -1,5 +1,5 @@ /* GeneralName.java -- a GeneralName. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -45,6 +45,7 @@ import gnu.java.security.x509.Util; import java.io.IOException; import java.util.Arrays; +import java.util.Objects; /** * The GeneralName structure from X.509. @@ -106,16 +107,16 @@ public class GeneralName case 6: return uniformResourceIdentifier; case 7: return iPAddress; case 8: return registeredId; + default: + throw new IllegalArgumentException("invalid tag: " + tag); } - - throw new IllegalArgumentException("invalid tag: " + tag); } public int tag() { return tag; } - }; + } private final Kind kind; private final byte[] name; @@ -185,7 +186,7 @@ public class GeneralName public GeneralName(Kind kind, byte[] name) { this.kind = kind; - this.name = (byte[]) name.clone(); + this.name = name.clone(); this.encoded = null; } @@ -196,27 +197,21 @@ public class GeneralName public byte[] name() { - return (byte[]) name.clone(); + return name.clone(); } public byte[] encoded() { - try - { - return (byte[]) encoded.clone(); - } - catch (NullPointerException npe) - { - return null; - } + return (encoded == null ? null : encoded.clone()); } + @Override public boolean equals(Object o) { try { GeneralName that = (GeneralName) o; - return (that.kind() == kind() && Arrays.equals(name, that.name)); + return (that.kind() == kind && Arrays.equals(name, that.name)); } catch (ClassCastException cce) { @@ -224,6 +219,13 @@ public class GeneralName } } + @Override + public int hashCode() + { + return Objects.hash(kind, name); + } + + @Override public String toString() { return (super.toString() + " [ kind=" + kind + "; name=" + diff --git a/gnu/java/security/x509/ext/GeneralNames.java b/gnu/java/security/x509/ext/GeneralNames.java index f56ee963b..45132ed0f 100644 --- a/gnu/java/security/x509/ext/GeneralNames.java +++ b/gnu/java/security/x509/ext/GeneralNames.java @@ -1,5 +1,5 @@ /* GeneralNames.java -- the GeneralNames object - Copyright (C) 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -82,6 +82,7 @@ public class GeneralNames return Collections.unmodifiableList(names); } + @Override public String toString() { return GeneralNames.class.getName() + " [ " + names + " ]"; diff --git a/gnu/java/security/x509/ext/GeneralSubtree.java b/gnu/java/security/x509/ext/GeneralSubtree.java index 5d688deaa..f5097a507 100644 --- a/gnu/java/security/x509/ext/GeneralSubtree.java +++ b/gnu/java/security/x509/ext/GeneralSubtree.java @@ -1,5 +1,5 @@ /* GeneralSubtree.java -- - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -147,6 +147,7 @@ public class GeneralSubtree return maximum; } + @Override public String toString() { return (GeneralSubtree.class.getName() + " [ base=" + base diff --git a/gnu/java/security/x509/ext/IssuerAlternativeNames.java b/gnu/java/security/x509/ext/IssuerAlternativeNames.java index 080070b98..1c502c37c 100644 --- a/gnu/java/security/x509/ext/IssuerAlternativeNames.java +++ b/gnu/java/security/x509/ext/IssuerAlternativeNames.java @@ -1,5 +1,5 @@ /* IssuerAlternatuveNames.java -- issuer alternative names extension. - Copyright (C) 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -70,6 +70,7 @@ public class IssuerAlternativeNames extends Extension.Value return names.getNames(); } + @Override public String toString() { return IssuerAlternativeNames.class.getName() + " [ " + names + " ]"; diff --git a/gnu/java/security/x509/ext/KeyUsage.java b/gnu/java/security/x509/ext/KeyUsage.java index dcd98181e..f306e71a7 100644 --- a/gnu/java/security/x509/ext/KeyUsage.java +++ b/gnu/java/security/x509/ext/KeyUsage.java @@ -1,5 +1,5 @@ /* KeyUsage.java -- the key usage extension. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -85,6 +85,7 @@ public class KeyUsage extends Extension.Value return keyUsage; } + @Override public String toString() { return KeyUsage.class.getName() + " [ " + keyUsage + " ]"; diff --git a/gnu/java/security/x509/ext/NameConstraints.java b/gnu/java/security/x509/ext/NameConstraints.java index 8f374d560..f6104c9a3 100644 --- a/gnu/java/security/x509/ext/NameConstraints.java +++ b/gnu/java/security/x509/ext/NameConstraints.java @@ -1,5 +1,5 @@ /* NameConstraints.java -- the NameConstraints X.509 extension. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2015 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -152,6 +152,7 @@ public class NameConstraints extends Value return Collections.unmodifiableList(excludedSubtrees); } + @Override public String toString() { return NameConstraints.class.getName() + " [ permittedSubtrees=" diff --git a/gnu/java/security/x509/ext/PolicyConstraint.java b/gnu/java/security/x509/ext/PolicyConstraint.java index 20cf552a0..3d88987bb 100644 --- a/gnu/java/security/x509/ext/PolicyConstraint.java +++ b/gnu/java/security/x509/ext/PolicyConstraint.java @@ -1,5 +1,5 @@ /* PolicyConstraint.java -- policyConstraint extension - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -98,6 +98,7 @@ public class PolicyConstraint extends Extension.Value return inhibitPolicyMapping; } + @Override public String toString() { return PolicyConstraint.class.getName() + " [ requireExplicitPolicy=" + diff --git a/gnu/java/security/x509/ext/PolicyMappings.java b/gnu/java/security/x509/ext/PolicyMappings.java index eeac340d3..27ce33e1a 100644 --- a/gnu/java/security/x509/ext/PolicyMappings.java +++ b/gnu/java/security/x509/ext/PolicyMappings.java @@ -1,5 +1,5 @@ /* PolicyMappings.java -- policy mappings extension. - Copyright (C) 2004, 2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2014, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -97,6 +97,7 @@ public class PolicyMappings extends Extension.Value return mappings.get(issuerDomainPolicy); } + @Override public String toString() { return PolicyMappings.class.getName() + " [ " + mappings + " ]"; diff --git a/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.java b/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.java index 3b531c055..31416266a 100644 --- a/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.java +++ b/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.java @@ -1,5 +1,5 @@ /* PrivateKeyUsagePeriod.java -- private key usage period extension. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -97,6 +97,7 @@ public class PrivateKeyUsagePeriod extends Extension.Value return notAfter != null ? (Date) notAfter.clone() : null; } + @Override public String toString() { return PrivateKeyUsagePeriod.class.getName() + " [ notBefore=" + notBefore diff --git a/gnu/java/security/x509/ext/ReasonCode.java b/gnu/java/security/x509/ext/ReasonCode.java index a6d59e43a..7bc34af0b 100644 --- a/gnu/java/security/x509/ext/ReasonCode.java +++ b/gnu/java/security/x509/ext/ReasonCode.java @@ -1,5 +1,5 @@ /* ReasonCode.java -- a reason code for a certificate revocation. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -78,6 +78,7 @@ public class ReasonCode extends Extension.Value return reason; } + @Override public String toString() { return ReasonCode.class.getName() + " [ " + reason + " ]"; diff --git a/gnu/java/security/x509/ext/SubjectAlternativeNames.java b/gnu/java/security/x509/ext/SubjectAlternativeNames.java index 8b6347d99..590257735 100644 --- a/gnu/java/security/x509/ext/SubjectAlternativeNames.java +++ b/gnu/java/security/x509/ext/SubjectAlternativeNames.java @@ -1,5 +1,5 @@ /* SubjectAlternatuveNames.java -- subject alternative names extension. - Copyright (C) 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -70,6 +70,7 @@ public class SubjectAlternativeNames extends Extension.Value return names.getNames(); } + @Override public String toString() { return SubjectAlternativeNames.class.getName() + " [ " + names + " ]"; diff --git a/gnu/java/security/x509/ext/SubjectKeyIdentifier.java b/gnu/java/security/x509/ext/SubjectKeyIdentifier.java index fc65abe21..eb0e6902d 100644 --- a/gnu/java/security/x509/ext/SubjectKeyIdentifier.java +++ b/gnu/java/security/x509/ext/SubjectKeyIdentifier.java @@ -1,5 +1,5 @@ /* SubjectKeyIdentifier.java -- subject key identifier extension. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -73,9 +73,10 @@ public class SubjectKeyIdentifier extends Extension.Value public byte[] getKeyIdentifier() { - return (byte[]) keyIdentifier.clone(); + return keyIdentifier.clone(); } + @Override public String toString() { return SubjectKeyIdentifier.class.getName() + " [ " + |