diff options
Diffstat (limited to 'gnu/java/security/x509')
26 files changed, 177 insertions, 104 deletions
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() + " [ " + |