# HG changeset patch # User mullan # Date 1347036544 14400 # Node ID 639c51fe428c6ef4879c8a90f5f0a2b84c46d811 # Parent 3f38e525f30a0985c7ee13b1c91b4e1931fe7ef4 4647343: IDENT variable in sun.security.x509 classes not used Reviewed-by: mullan Contributed-by: jason.uh@oracle.com diff -r 3f38e525f30a -r 639c51fe428c jdk/src/share/classes/sun/security/x509/CertificateIssuerUniqueIdentity.java --- a/jdk/src/share/classes/sun/security/x509/CertificateIssuerUniqueIdentity.java Fri Sep 07 15:30:17 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,177 +0,0 @@ -/* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package sun.security.x509; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Enumeration; - -import sun.security.util.*; - -/** - * This class defines the subject/issuer unique identity attribute - * for the Certificate. - * - * @author Amit Kapoor - * @author Hemma Prafullchandra - * @see CertAttrSet - */ -public class CertificateIssuerUniqueIdentity implements CertAttrSet { - private UniqueIdentity id; - - /** - * Identifier for this attribute, to be used with the - * get, set, delete methods of Certificate, x509 type. - */ - public static final String IDENT = "x509.info.issuerID"; - /** - * Sub attributes name for this CertAttrSet. - */ - public static final String NAME = "issuerID"; - public static final String ID = "id"; - - /** - * Default constructor for the certificate attribute. - * - * @param key the UniqueIdentity - */ - public CertificateIssuerUniqueIdentity(UniqueIdentity id) { - this.id = id; - } - - /** - * Create the object, decoding the values from the passed DER stream. - * - * @param in the DerInputStream to read the UniqueIdentity from. - * @exception IOException on decoding errors. - */ - public CertificateIssuerUniqueIdentity(DerInputStream in) - throws IOException { - id = new UniqueIdentity(in); - } - - /** - * Create the object, decoding the values from the passed stream. - * - * @param in the InputStream to read the UniqueIdentity from. - * @exception IOException on decoding errors. - */ - public CertificateIssuerUniqueIdentity(InputStream in) - throws IOException { - DerValue val = new DerValue(in); - id = new UniqueIdentity(val); - } - - /** - * Create the object, decoding the values from the passed DER value. - * - * @param in the DerValue to read the UniqueIdentity from. - * @exception IOException on decoding errors. - */ - public CertificateIssuerUniqueIdentity(DerValue val) - throws IOException { - id = new UniqueIdentity(val); - } - - /** - * Return the identity as user readable string. - */ - public String toString() { - if (id == null) return ""; - return (id.toString()); - } - - /** - * Encode the identity in DER form to the stream. - * - * @param out the DerOutputStream to marshal the contents to. - * @exception IOException on errors. - */ - public void encode(OutputStream out) throws IOException { - DerOutputStream tmp = new DerOutputStream(); - id.encode(tmp,DerValue.createTag(DerValue.TAG_CONTEXT,false,(byte)1)); - - out.write(tmp.toByteArray()); - } - - /** - * Set the attribute value. - */ - public void set(String name, Object obj) throws IOException { - if (!(obj instanceof UniqueIdentity)) { - throw new IOException("Attribute must be of type UniqueIdentity."); - } - if (name.equalsIgnoreCase(ID)) { - id = (UniqueIdentity)obj; - } else { - throw new IOException("Attribute name not recognized by " + - "CertAttrSet: CertificateIssuerUniqueIdentity."); - } - } - - /** - * Get the attribute value. - */ - public UniqueIdentity get(String name) throws IOException { - if (name.equalsIgnoreCase(ID)) { - return (id); - } else { - throw new IOException("Attribute name not recognized by " + - "CertAttrSet: CertificateIssuerUniqueIdentity."); - } - } - - /** - * Delete the attribute value. - */ - public void delete(String name) throws IOException { - if (name.equalsIgnoreCase(ID)) { - id = null; - } else { - throw new IOException("Attribute name not recognized by " + - "CertAttrSet: CertificateIssuerUniqueIdentity."); - } - } - - /** - * Return an enumeration of names of attributes existing within this - * attribute. - */ - public Enumeration getElements() { - AttributeNameEnumeration elements = new AttributeNameEnumeration(); - elements.addElement(ID); - - return (elements.elements()); - } - - /** - * Return the name of this attribute. - */ - public String getName() { - return (NAME); - } -} diff -r 3f38e525f30a -r 639c51fe428c jdk/src/share/classes/sun/security/x509/CertificateSubjectUniqueIdentity.java --- a/jdk/src/share/classes/sun/security/x509/CertificateSubjectUniqueIdentity.java Fri Sep 07 15:30:17 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,176 +0,0 @@ -/* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package sun.security.x509; - -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.util.Enumeration; - -import sun.security.util.*; - -/** - * This class defines the subject/issuer unique identity attribute - * for the Certificate. - * - * @author Amit Kapoor - * @author Hemma Prafullchandra - * @see CertAttrSet - */ -public class CertificateSubjectUniqueIdentity implements CertAttrSet { - /** - * Identifier for this attribute, to be used with the - * get, set, delete methods of Certificate, x509 type. - */ - public static final String IDENT = "x509.info.subjectID"; - /** - * Sub attributes name for this CertAttrSet. - */ - public static final String NAME = "subjectID"; - public static final String ID = "id"; - - private UniqueIdentity id; - - /** - * Default constructor for the certificate attribute. - * - * @param key the UniqueIdentity - */ - public CertificateSubjectUniqueIdentity(UniqueIdentity id) { - this.id = id; - } - - /** - * Create the object, decoding the values from the passed DER stream. - * - * @param in the DerInputStream to read the UniqueIdentity from. - * @exception IOException on decoding errors. - */ - public CertificateSubjectUniqueIdentity(DerInputStream in) - throws IOException { - id = new UniqueIdentity(in); - } - - /** - * Create the object, decoding the values from the passed stream. - * - * @param in the InputStream to read the UniqueIdentity from. - * @exception IOException on decoding errors. - */ - public CertificateSubjectUniqueIdentity(InputStream in) - throws IOException { - DerValue val = new DerValue(in); - id = new UniqueIdentity(val); - } - - /** - * Create the object, decoding the values from the passed DER value. - * - * @param in the DerValue to read the UniqueIdentity from. - * @exception IOException on decoding errors. - */ - public CertificateSubjectUniqueIdentity(DerValue val) - throws IOException { - id = new UniqueIdentity(val); - } - - /** - * Return the identity as user readable string. - */ - public String toString() { - if (id == null) return ""; - return(id.toString()); - } - - /** - * Encode the identity in DER form to the stream. - * - * @param out the DerOutputStream to marshal the contents to. - * @exception IOException on errors. - */ - public void encode(OutputStream out) throws IOException { - DerOutputStream tmp = new DerOutputStream(); - id.encode(tmp,DerValue.createTag(DerValue.TAG_CONTEXT,false,(byte)2)); - - out.write(tmp.toByteArray()); - } - - /** - * Set the attribute value. - */ - public void set(String name, Object obj) throws IOException { - if (!(obj instanceof UniqueIdentity)) { - throw new IOException("Attribute must be of type UniqueIdentity."); - } - if (name.equalsIgnoreCase(ID)) { - id = (UniqueIdentity)obj; - } else { - throw new IOException("Attribute name not recognized by " + - "CertAttrSet: CertificateSubjectUniqueIdentity."); - } - } - - /** - * Get the attribute value. - */ - public UniqueIdentity get(String name) throws IOException { - if (name.equalsIgnoreCase(ID)) { - return(id); - } else { - throw new IOException("Attribute name not recognized by " + - "CertAttrSet: CertificateSubjectUniqueIdentity."); - } - } - - /** - * Delete the attribute value. - */ - public void delete(String name) throws IOException { - if (name.equalsIgnoreCase(ID)) { - id = null; - } else { - throw new IOException("Attribute name not recognized by " + - "CertAttrSet: CertificateSubjectUniqueIdentity."); - } - } - - /** - * Return an enumeration of names of attributes existing within this - * attribute. - */ - public Enumeration getElements() { - AttributeNameEnumeration elements = new AttributeNameEnumeration(); - elements.addElement(ID); - - return (elements.elements()); - } - - /** - * Return the name of this attribute. - */ - public String getName() { - return (NAME); - } -} diff -r 3f38e525f30a -r 639c51fe428c jdk/src/share/classes/sun/security/x509/X509CertImpl.java --- a/jdk/src/share/classes/sun/security/x509/X509CertImpl.java Fri Sep 07 15:30:17 2012 +0100 +++ b/jdk/src/share/classes/sun/security/x509/X509CertImpl.java Fri Sep 07 12:49:04 2012 -0400 @@ -1070,8 +1070,7 @@ return null; try { UniqueIdentity id = (UniqueIdentity)info.get( - CertificateIssuerUniqueIdentity.NAME - + DOT + CertificateIssuerUniqueIdentity.ID); + X509CertInfo.ISSUER_ID); if (id == null) return null; else @@ -1091,8 +1090,7 @@ return null; try { UniqueIdentity id = (UniqueIdentity)info.get( - CertificateSubjectUniqueIdentity.NAME - + DOT + CertificateSubjectUniqueIdentity.ID); + X509CertInfo.SUBJECT_ID); if (id == null) return null; else diff -r 3f38e525f30a -r 639c51fe428c jdk/src/share/classes/sun/security/x509/X509CertInfo.java --- a/jdk/src/share/classes/sun/security/x509/X509CertInfo.java Fri Sep 07 15:30:17 2012 +0100 +++ b/jdk/src/share/classes/sun/security/x509/X509CertInfo.java Fri Sep 07 12:49:04 2012 -0400 @@ -75,8 +75,8 @@ public static final String VALIDITY = CertificateValidity.NAME; public static final String SUBJECT = CertificateSubjectName.NAME; public static final String KEY = CertificateX509Key.NAME; - public static final String ISSUER_ID = CertificateIssuerUniqueIdentity.NAME; - public static final String SUBJECT_ID = CertificateSubjectUniqueIdentity.NAME; + public static final String ISSUER_ID = "issuerID"; + public static final String SUBJECT_ID = "subjectID"; public static final String EXTENSIONS = CertificateExtensions.NAME; // X509.v1 data @@ -89,8 +89,8 @@ protected CertificateX509Key pubKey = null; // X509.v2 & v3 extensions - protected CertificateIssuerUniqueIdentity issuerUniqueId = null; - protected CertificateSubjectUniqueIdentity subjectUniqueId = null; + protected UniqueIdentity issuerUniqueId = null; + protected UniqueIdentity subjectUniqueId = null; // X509.v3 extensions protected CertificateExtensions extensions = null; @@ -431,19 +431,11 @@ break; case ATTR_ISSUER_ID: - if (suffix == null) { - setIssuerUniqueId(val); - } else { - issuerUniqueId.set(suffix, val); - } + setIssuerUniqueId(val); break; case ATTR_SUBJECT_ID: - if (suffix == null) { - setSubjectUniqueId(val); - } else { - subjectUniqueId.set(suffix, val); - } + setSubjectUniqueId(val); break; case ATTR_EXTENSIONS: @@ -529,18 +521,10 @@ } break; case (ATTR_ISSUER_ID): - if (suffix == null) { - issuerUniqueId = null; - } else { - issuerUniqueId.delete(suffix); - } + issuerUniqueId = null; break; case (ATTR_SUBJECT_ID): - if (suffix == null) { - subjectUniqueId = null; - } else { - subjectUniqueId.delete(suffix); - } + subjectUniqueId = null; break; case (ATTR_EXTENSIONS): if (suffix == null) { @@ -626,23 +610,9 @@ return(serialNum.get(suffix)); } case (ATTR_ISSUER_ID): - if (suffix == null) { - return(issuerUniqueId); - } else { - if (issuerUniqueId == null) - return null; - else - return(issuerUniqueId.get(suffix)); - } + return(issuerUniqueId); case (ATTR_SUBJECT_ID): - if (suffix == null) { - return(subjectUniqueId); - } else { - if (subjectUniqueId == null) - return null; - else - return(subjectUniqueId.get(suffix)); - } + return(subjectUniqueId); } return null; } @@ -711,7 +681,7 @@ // Get the issuerUniqueId if present tmp = in.getDerValue(); if (tmp.isContextSpecific((byte)1)) { - issuerUniqueId = new CertificateIssuerUniqueIdentity(tmp); + issuerUniqueId = new UniqueIdentity(tmp); if (in.available() == 0) return; tmp = in.getDerValue(); @@ -719,7 +689,7 @@ // Get the subjectUniqueId if present. if (tmp.isContextSpecific((byte)2)) { - subjectUniqueId = new CertificateSubjectUniqueIdentity(tmp); + subjectUniqueId = new UniqueIdentity(tmp); if (in.available() == 0) return; tmp = in.getDerValue(); @@ -814,10 +784,12 @@ // Encode issuerUniqueId & subjectUniqueId. if (issuerUniqueId != null) { - issuerUniqueId.encode(tmp); + issuerUniqueId.encode(tmp, DerValue.createTag(DerValue.TAG_CONTEXT, + false,(byte)1)); } if (subjectUniqueId != null) { - subjectUniqueId.encode(tmp); + subjectUniqueId.encode(tmp, DerValue.createTag(DerValue.TAG_CONTEXT, + false,(byte)2)); } // Write all the extensions. @@ -946,11 +918,11 @@ if (version.compare(CertificateVersion.V2) < 0) { throw new CertificateException("Invalid version"); } - if (!(val instanceof CertificateIssuerUniqueIdentity)) { + if (!(val instanceof UniqueIdentity)) { throw new CertificateException( "IssuerUniqueId class type invalid."); } - issuerUniqueId = (CertificateIssuerUniqueIdentity)val; + issuerUniqueId = (UniqueIdentity)val; } /** @@ -963,11 +935,11 @@ if (version.compare(CertificateVersion.V2) < 0) { throw new CertificateException("Invalid version"); } - if (!(val instanceof CertificateSubjectUniqueIdentity)) { + if (!(val instanceof UniqueIdentity)) { throw new CertificateException( "SubjectUniqueId class type invalid."); } - subjectUniqueId = (CertificateSubjectUniqueIdentity)val; + subjectUniqueId = (UniqueIdentity)val; } /**