mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 19:14:38 +02:00
7198416: CertificateIssuerName and CertificateSubjectName are redundant
Reviewed-by: mullan
This commit is contained in:
parent
5d67e2bbb1
commit
fdfd7968f7
10 changed files with 77 additions and 85 deletions
|
@ -39,7 +39,6 @@ import java.security.*;
|
||||||
import sun.security.timestamp.*;
|
import sun.security.timestamp.*;
|
||||||
import sun.security.util.*;
|
import sun.security.util.*;
|
||||||
import sun.security.x509.AlgorithmId;
|
import sun.security.x509.AlgorithmId;
|
||||||
import sun.security.x509.CertificateIssuerName;
|
|
||||||
import sun.security.x509.X509CertImpl;
|
import sun.security.x509.X509CertImpl;
|
||||||
import sun.security.x509.X509CertInfo;
|
import sun.security.x509.X509CertInfo;
|
||||||
import sun.security.x509.X509CRLImpl;
|
import sun.security.x509.X509CRLImpl;
|
||||||
|
@ -712,8 +711,8 @@ public class PKCS7 {
|
||||||
X509CertInfo tbsCert =
|
X509CertInfo tbsCert =
|
||||||
new X509CertInfo(cert.getTBSCertificate());
|
new X509CertInfo(cert.getTBSCertificate());
|
||||||
certIssuerName = (Principal)
|
certIssuerName = (Principal)
|
||||||
tbsCert.get(CertificateIssuerName.NAME + "." +
|
tbsCert.get(X509CertInfo.ISSUER + "." +
|
||||||
CertificateIssuerName.DN_NAME);
|
X509CertInfo.DN_NAME);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// error generating X500Name object from the cert's
|
// error generating X500Name object from the cert's
|
||||||
// issuer DN, leave name as is.
|
// issuer DN, leave name as is.
|
||||||
|
|
|
@ -2259,9 +2259,9 @@ class SignatureFile {
|
||||||
X509CertInfo tbsCert = new
|
X509CertInfo tbsCert = new
|
||||||
X509CertInfo(certChain[0].getTBSCertificate());
|
X509CertInfo(certChain[0].getTBSCertificate());
|
||||||
issuerName = (Principal)
|
issuerName = (Principal)
|
||||||
tbsCert.get(CertificateIssuerName.NAME + "." +
|
tbsCert.get(X509CertInfo.ISSUER + "." +
|
||||||
CertificateIssuerName.DN_NAME);
|
X509CertInfo.DN_NAME);
|
||||||
}
|
}
|
||||||
BigInteger serial = certChain[0].getSerialNumber();
|
BigInteger serial = certChain[0].getSerialNumber();
|
||||||
|
|
||||||
String signatureAlgorithm;
|
String signatureAlgorithm;
|
||||||
|
|
|
@ -258,10 +258,10 @@ public final class CertAndKeyGen {
|
||||||
AlgorithmId algID = AlgorithmId.get(sigAlg);
|
AlgorithmId algID = AlgorithmId.get(sigAlg);
|
||||||
info.set(X509CertInfo.ALGORITHM_ID,
|
info.set(X509CertInfo.ALGORITHM_ID,
|
||||||
new CertificateAlgorithmId(algID));
|
new CertificateAlgorithmId(algID));
|
||||||
info.set(X509CertInfo.SUBJECT, new CertificateSubjectName(myname));
|
info.set(X509CertInfo.SUBJECT, myname);
|
||||||
info.set(X509CertInfo.KEY, new CertificateX509Key(publicKey));
|
info.set(X509CertInfo.KEY, new CertificateX509Key(publicKey));
|
||||||
info.set(X509CertInfo.VALIDITY, interval);
|
info.set(X509CertInfo.VALIDITY, interval);
|
||||||
info.set(X509CertInfo.ISSUER, new CertificateIssuerName(myname));
|
info.set(X509CertInfo.ISSUER, myname);
|
||||||
if (ext != null) info.set(X509CertInfo.EXTENSIONS, ext);
|
if (ext != null) info.set(X509CertInfo.EXTENSIONS, ext);
|
||||||
|
|
||||||
cert = new X509CertImpl(info);
|
cert = new X509CertImpl(info);
|
||||||
|
|
|
@ -1145,7 +1145,7 @@ public final class Main {
|
||||||
X509CertInfo signerCertInfo = (X509CertInfo)signerCertImpl.get(
|
X509CertInfo signerCertInfo = (X509CertInfo)signerCertImpl.get(
|
||||||
X509CertImpl.NAME + "." + X509CertImpl.INFO);
|
X509CertImpl.NAME + "." + X509CertImpl.INFO);
|
||||||
X500Name issuer = (X500Name)signerCertInfo.get(X509CertInfo.SUBJECT + "." +
|
X500Name issuer = (X500Name)signerCertInfo.get(X509CertInfo.SUBJECT + "." +
|
||||||
CertificateSubjectName.DN_NAME);
|
X509CertInfo.DN_NAME);
|
||||||
|
|
||||||
Date firstDate = getStartDate(startDate);
|
Date firstDate = getStartDate(startDate);
|
||||||
Date lastDate = new Date();
|
Date lastDate = new Date();
|
||||||
|
@ -1170,7 +1170,7 @@ public final class Main {
|
||||||
info.set(X509CertInfo.ALGORITHM_ID,
|
info.set(X509CertInfo.ALGORITHM_ID,
|
||||||
new CertificateAlgorithmId(
|
new CertificateAlgorithmId(
|
||||||
AlgorithmId.get(sigAlgName)));
|
AlgorithmId.get(sigAlgName)));
|
||||||
info.set(X509CertInfo.ISSUER, new CertificateIssuerName(issuer));
|
info.set(X509CertInfo.ISSUER, issuer);
|
||||||
|
|
||||||
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
|
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
|
||||||
boolean canRead = false;
|
boolean canRead = false;
|
||||||
|
@ -1193,8 +1193,8 @@ public final class Main {
|
||||||
PKCS10 req = new PKCS10(rawReq);
|
PKCS10 req = new PKCS10(rawReq);
|
||||||
|
|
||||||
info.set(X509CertInfo.KEY, new CertificateX509Key(req.getSubjectPublicKeyInfo()));
|
info.set(X509CertInfo.KEY, new CertificateX509Key(req.getSubjectPublicKeyInfo()));
|
||||||
info.set(X509CertInfo.SUBJECT, new CertificateSubjectName(
|
info.set(X509CertInfo.SUBJECT,
|
||||||
dname==null?req.getSubjectName():new X500Name(dname)));
|
dname==null?req.getSubjectName():new X500Name(dname));
|
||||||
CertificateExtensions reqex = null;
|
CertificateExtensions reqex = null;
|
||||||
Iterator<PKCS10Attribute> attrs = req.getAttributes().getAttributes().iterator();
|
Iterator<PKCS10Attribute> attrs = req.getAttributes().getAttributes().iterator();
|
||||||
while (attrs.hasNext()) {
|
while (attrs.hasNext()) {
|
||||||
|
@ -1234,7 +1234,7 @@ public final class Main {
|
||||||
X509CertInfo signerCertInfo = (X509CertInfo)signerCertImpl.get(
|
X509CertInfo signerCertInfo = (X509CertInfo)signerCertImpl.get(
|
||||||
X509CertImpl.NAME + "." + X509CertImpl.INFO);
|
X509CertImpl.NAME + "." + X509CertImpl.INFO);
|
||||||
X500Name owner = (X500Name)signerCertInfo.get(X509CertInfo.SUBJECT + "." +
|
X500Name owner = (X500Name)signerCertInfo.get(X509CertInfo.SUBJECT + "." +
|
||||||
CertificateSubjectName.DN_NAME);
|
X509CertInfo.DN_NAME);
|
||||||
|
|
||||||
Date firstDate = getStartDate(startDate);
|
Date firstDate = getStartDate(startDate);
|
||||||
Date lastDate = (Date) firstDate.clone();
|
Date lastDate = (Date) firstDate.clone();
|
||||||
|
@ -2405,16 +2405,16 @@ public final class Main {
|
||||||
if (dname == null) {
|
if (dname == null) {
|
||||||
// Get the owner name from the certificate
|
// Get the owner name from the certificate
|
||||||
owner = (X500Name)certInfo.get(X509CertInfo.SUBJECT + "." +
|
owner = (X500Name)certInfo.get(X509CertInfo.SUBJECT + "." +
|
||||||
CertificateSubjectName.DN_NAME);
|
X509CertInfo.DN_NAME);
|
||||||
} else {
|
} else {
|
||||||
// Use the owner name specified at the command line
|
// Use the owner name specified at the command line
|
||||||
owner = new X500Name(dname);
|
owner = new X500Name(dname);
|
||||||
certInfo.set(X509CertInfo.SUBJECT + "." +
|
certInfo.set(X509CertInfo.SUBJECT + "." +
|
||||||
CertificateSubjectName.DN_NAME, owner);
|
X509CertInfo.DN_NAME, owner);
|
||||||
}
|
}
|
||||||
// Make issuer same as owner (self-signed!)
|
// Make issuer same as owner (self-signed!)
|
||||||
certInfo.set(X509CertInfo.ISSUER + "." +
|
certInfo.set(X509CertInfo.ISSUER + "." +
|
||||||
CertificateIssuerName.DN_NAME, owner);
|
X509CertInfo.DN_NAME, owner);
|
||||||
|
|
||||||
// The inner and outer signature algorithms have to match.
|
// The inner and outer signature algorithms have to match.
|
||||||
// The way we achieve that is really ugly, but there seems to be no
|
// The way we achieve that is really ugly, but there seems to be no
|
||||||
|
|
|
@ -96,12 +96,10 @@ public class X509CertImpl extends X509Certificate implements DerEncoder {
|
||||||
*/
|
*/
|
||||||
// x509.info.subject.dname
|
// x509.info.subject.dname
|
||||||
public static final String SUBJECT_DN = NAME + DOT + INFO + DOT +
|
public static final String SUBJECT_DN = NAME + DOT + INFO + DOT +
|
||||||
X509CertInfo.SUBJECT + DOT +
|
X509CertInfo.SUBJECT + DOT + X509CertInfo.DN_NAME;
|
||||||
CertificateSubjectName.DN_NAME;
|
|
||||||
// x509.info.issuer.dname
|
// x509.info.issuer.dname
|
||||||
public static final String ISSUER_DN = NAME + DOT + INFO + DOT +
|
public static final String ISSUER_DN = NAME + DOT + INFO + DOT +
|
||||||
X509CertInfo.ISSUER + DOT +
|
X509CertInfo.ISSUER + DOT + X509CertInfo.DN_NAME;
|
||||||
CertificateIssuerName.DN_NAME;
|
|
||||||
// x509.info.serialNumber.number
|
// x509.info.serialNumber.number
|
||||||
public static final String SERIAL_ID = NAME + DOT + INFO + DOT +
|
public static final String SERIAL_ID = NAME + DOT + INFO + DOT +
|
||||||
X509CertInfo.SERIAL_NUMBER + DOT +
|
X509CertInfo.SERIAL_NUMBER + DOT +
|
||||||
|
@ -890,9 +888,8 @@ public class X509CertImpl extends X509Certificate implements DerEncoder {
|
||||||
if (info == null)
|
if (info == null)
|
||||||
return null;
|
return null;
|
||||||
try {
|
try {
|
||||||
Principal subject = (Principal)info.get(
|
Principal subject = (Principal)info.get(X509CertInfo.SUBJECT + DOT +
|
||||||
CertificateSubjectName.NAME + DOT +
|
X509CertInfo.DN_NAME);
|
||||||
CertificateSubjectName.DN_NAME);
|
|
||||||
return subject;
|
return subject;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return null;
|
return null;
|
||||||
|
@ -910,8 +907,8 @@ public class X509CertImpl extends X509Certificate implements DerEncoder {
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
X500Principal subject = (X500Principal)info.get(
|
X500Principal subject = (X500Principal)info.get(
|
||||||
CertificateSubjectName.NAME + DOT +
|
X509CertInfo.SUBJECT + DOT +
|
||||||
CertificateSubjectName.DN_PRINCIPAL);
|
"x500principal");
|
||||||
return subject;
|
return subject;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return null;
|
return null;
|
||||||
|
@ -927,9 +924,8 @@ public class X509CertImpl extends X509Certificate implements DerEncoder {
|
||||||
if (info == null)
|
if (info == null)
|
||||||
return null;
|
return null;
|
||||||
try {
|
try {
|
||||||
Principal issuer = (Principal)info.get(
|
Principal issuer = (Principal)info.get(X509CertInfo.ISSUER + DOT +
|
||||||
CertificateIssuerName.NAME + DOT +
|
X509CertInfo.DN_NAME);
|
||||||
CertificateIssuerName.DN_NAME);
|
|
||||||
return issuer;
|
return issuer;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return null;
|
return null;
|
||||||
|
@ -947,8 +943,8 @@ public class X509CertImpl extends X509Certificate implements DerEncoder {
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
X500Principal issuer = (X500Principal)info.get(
|
X500Principal issuer = (X500Principal)info.get(
|
||||||
CertificateIssuerName.NAME + DOT +
|
X509CertInfo.ISSUER + DOT +
|
||||||
CertificateIssuerName.DN_PRINCIPAL);
|
"x500principal");
|
||||||
return issuer;
|
return issuer;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -68,12 +68,13 @@ public class X509CertInfo implements CertAttrSet<String> {
|
||||||
public static final String IDENT = "x509.info";
|
public static final String IDENT = "x509.info";
|
||||||
// Certificate attribute names
|
// Certificate attribute names
|
||||||
public static final String NAME = "info";
|
public static final String NAME = "info";
|
||||||
|
public static final String DN_NAME = "dname";
|
||||||
public static final String VERSION = CertificateVersion.NAME;
|
public static final String VERSION = CertificateVersion.NAME;
|
||||||
public static final String SERIAL_NUMBER = CertificateSerialNumber.NAME;
|
public static final String SERIAL_NUMBER = CertificateSerialNumber.NAME;
|
||||||
public static final String ALGORITHM_ID = CertificateAlgorithmId.NAME;
|
public static final String ALGORITHM_ID = CertificateAlgorithmId.NAME;
|
||||||
public static final String ISSUER = CertificateIssuerName.NAME;
|
public static final String ISSUER = "issuer";
|
||||||
|
public static final String SUBJECT = "subject";
|
||||||
public static final String VALIDITY = CertificateValidity.NAME;
|
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 KEY = CertificateX509Key.NAME;
|
||||||
public static final String ISSUER_ID = "issuerID";
|
public static final String ISSUER_ID = "issuerID";
|
||||||
public static final String SUBJECT_ID = "subjectID";
|
public static final String SUBJECT_ID = "subjectID";
|
||||||
|
@ -83,9 +84,9 @@ public class X509CertInfo implements CertAttrSet<String> {
|
||||||
protected CertificateVersion version = new CertificateVersion();
|
protected CertificateVersion version = new CertificateVersion();
|
||||||
protected CertificateSerialNumber serialNum = null;
|
protected CertificateSerialNumber serialNum = null;
|
||||||
protected CertificateAlgorithmId algId = null;
|
protected CertificateAlgorithmId algId = null;
|
||||||
protected CertificateIssuerName issuer = null;
|
protected X500Name issuer = null;
|
||||||
|
protected X500Name subject = null;
|
||||||
protected CertificateValidity interval = null;
|
protected CertificateValidity interval = null;
|
||||||
protected CertificateSubjectName subject = null;
|
|
||||||
protected CertificateX509Key pubKey = null;
|
protected CertificateX509Key pubKey = null;
|
||||||
|
|
||||||
// X509.v2 & v3 extensions
|
// X509.v2 & v3 extensions
|
||||||
|
@ -399,11 +400,7 @@ public class X509CertInfo implements CertAttrSet<String> {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ATTR_ISSUER:
|
case ATTR_ISSUER:
|
||||||
if (suffix == null) {
|
setIssuer(val);
|
||||||
setIssuer(val);
|
|
||||||
} else {
|
|
||||||
issuer.set(suffix, val);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ATTR_VALIDITY:
|
case ATTR_VALIDITY:
|
||||||
|
@ -415,11 +412,7 @@ public class X509CertInfo implements CertAttrSet<String> {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ATTR_SUBJECT:
|
case ATTR_SUBJECT:
|
||||||
if (suffix == null) {
|
setSubject(val);
|
||||||
setSubject(val);
|
|
||||||
} else {
|
|
||||||
subject.set(suffix, val);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ATTR_KEY:
|
case ATTR_KEY:
|
||||||
|
@ -493,11 +486,7 @@ public class X509CertInfo implements CertAttrSet<String> {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case (ATTR_ISSUER):
|
case (ATTR_ISSUER):
|
||||||
if (suffix == null) {
|
issuer = null;
|
||||||
issuer = null;
|
|
||||||
} else {
|
|
||||||
issuer.delete(suffix);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case (ATTR_VALIDITY):
|
case (ATTR_VALIDITY):
|
||||||
if (suffix == null) {
|
if (suffix == null) {
|
||||||
|
@ -507,11 +496,7 @@ public class X509CertInfo implements CertAttrSet<String> {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case (ATTR_SUBJECT):
|
case (ATTR_SUBJECT):
|
||||||
if (suffix == null) {
|
subject = null;
|
||||||
subject = null;
|
|
||||||
} else {
|
|
||||||
subject.delete(suffix);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case (ATTR_KEY):
|
case (ATTR_KEY):
|
||||||
if (suffix == null) {
|
if (suffix == null) {
|
||||||
|
@ -571,13 +556,13 @@ public class X509CertInfo implements CertAttrSet<String> {
|
||||||
if (suffix == null) {
|
if (suffix == null) {
|
||||||
return(subject);
|
return(subject);
|
||||||
} else {
|
} else {
|
||||||
return(subject.get(suffix));
|
return(getX500Name(suffix, false));
|
||||||
}
|
}
|
||||||
case (ATTR_ISSUER):
|
case (ATTR_ISSUER):
|
||||||
if (suffix == null) {
|
if (suffix == null) {
|
||||||
return(issuer);
|
return(issuer);
|
||||||
} else {
|
} else {
|
||||||
return(issuer.get(suffix));
|
return(getX500Name(suffix, true));
|
||||||
}
|
}
|
||||||
case (ATTR_KEY):
|
case (ATTR_KEY):
|
||||||
if (suffix == null) {
|
if (suffix == null) {
|
||||||
|
@ -617,6 +602,21 @@ public class X509CertInfo implements CertAttrSet<String> {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Get the Issuer or Subject name
|
||||||
|
*/
|
||||||
|
private Object getX500Name(String name, boolean getIssuer)
|
||||||
|
throws IOException {
|
||||||
|
if (name.equalsIgnoreCase(X509CertInfo.DN_NAME)) {
|
||||||
|
return getIssuer ? issuer : subject;
|
||||||
|
} else if (name.equalsIgnoreCase("x500principal")) {
|
||||||
|
return getIssuer ? issuer.asX500Principal()
|
||||||
|
: subject.asX500Principal();
|
||||||
|
} else {
|
||||||
|
throw new IOException("Attribute name not recognized.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This routine unmarshals the certificate information.
|
* This routine unmarshals the certificate information.
|
||||||
*/
|
*/
|
||||||
|
@ -646,9 +646,8 @@ public class X509CertInfo implements CertAttrSet<String> {
|
||||||
algId = new CertificateAlgorithmId(in);
|
algId = new CertificateAlgorithmId(in);
|
||||||
|
|
||||||
// Issuer name
|
// Issuer name
|
||||||
issuer = new CertificateIssuerName(in);
|
issuer = new X500Name(in);
|
||||||
X500Name issuerDN = (X500Name)issuer.get(CertificateIssuerName.DN_NAME);
|
if (issuer.isEmpty()) {
|
||||||
if (issuerDN.isEmpty()) {
|
|
||||||
throw new CertificateParsingException(
|
throw new CertificateParsingException(
|
||||||
"Empty issuer DN not allowed in X509Certificates");
|
"Empty issuer DN not allowed in X509Certificates");
|
||||||
}
|
}
|
||||||
|
@ -657,10 +656,9 @@ public class X509CertInfo implements CertAttrSet<String> {
|
||||||
interval = new CertificateValidity(in);
|
interval = new CertificateValidity(in);
|
||||||
|
|
||||||
// subject name
|
// subject name
|
||||||
subject = new CertificateSubjectName(in);
|
subject = new X500Name(in);
|
||||||
X500Name subjectDN = (X500Name)subject.get(CertificateSubjectName.DN_NAME);
|
|
||||||
if ((version.compare(CertificateVersion.V1) == 0) &&
|
if ((version.compare(CertificateVersion.V1) == 0) &&
|
||||||
subjectDN.isEmpty()) {
|
subject.isEmpty()) {
|
||||||
throw new CertificateParsingException(
|
throw new CertificateParsingException(
|
||||||
"Empty subject DN not allowed in v1 certificate");
|
"Empty subject DN not allowed in v1 certificate");
|
||||||
}
|
}
|
||||||
|
@ -712,13 +710,12 @@ public class X509CertInfo implements CertAttrSet<String> {
|
||||||
/*
|
/*
|
||||||
* Verify if X.509 V3 Certificate is compliant with RFC 3280.
|
* Verify if X.509 V3 Certificate is compliant with RFC 3280.
|
||||||
*/
|
*/
|
||||||
private void verifyCert(CertificateSubjectName subject,
|
private void verifyCert(X500Name subject,
|
||||||
CertificateExtensions extensions)
|
CertificateExtensions extensions)
|
||||||
throws CertificateParsingException, IOException {
|
throws CertificateParsingException, IOException {
|
||||||
|
|
||||||
// if SubjectName is empty, check for SubjectAlternativeNameExtension
|
// if SubjectName is empty, check for SubjectAlternativeNameExtension
|
||||||
X500Name subjectDN = (X500Name)subject.get(CertificateSubjectName.DN_NAME);
|
if (subject.isEmpty()) {
|
||||||
if (subjectDN.isEmpty()) {
|
|
||||||
if (extensions == null) {
|
if (extensions == null) {
|
||||||
throw new CertificateParsingException("X.509 Certificate is " +
|
throw new CertificateParsingException("X.509 Certificate is " +
|
||||||
"incomplete: subject field is empty, and certificate " +
|
"incomplete: subject field is empty, and certificate " +
|
||||||
|
@ -859,11 +856,11 @@ public class X509CertInfo implements CertAttrSet<String> {
|
||||||
* @exception CertificateException on invalid data.
|
* @exception CertificateException on invalid data.
|
||||||
*/
|
*/
|
||||||
private void setIssuer(Object val) throws CertificateException {
|
private void setIssuer(Object val) throws CertificateException {
|
||||||
if (!(val instanceof CertificateIssuerName)) {
|
if (!(val instanceof X500Name)) {
|
||||||
throw new CertificateException(
|
throw new CertificateException(
|
||||||
"Issuer class type invalid.");
|
"Issuer class type invalid.");
|
||||||
}
|
}
|
||||||
issuer = (CertificateIssuerName)val;
|
issuer = (X500Name)val;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -887,11 +884,11 @@ public class X509CertInfo implements CertAttrSet<String> {
|
||||||
* @exception CertificateException on invalid data.
|
* @exception CertificateException on invalid data.
|
||||||
*/
|
*/
|
||||||
private void setSubject(Object val) throws CertificateException {
|
private void setSubject(Object val) throws CertificateException {
|
||||||
if (!(val instanceof CertificateSubjectName)) {
|
if (!(val instanceof X500Name)) {
|
||||||
throw new CertificateException(
|
throw new CertificateException(
|
||||||
"Subject class type invalid.");
|
"Subject class type invalid.");
|
||||||
}
|
}
|
||||||
subject = (CertificateSubjectName)val;
|
subject = (X500Name)val;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -86,9 +86,9 @@ AlgorithmId</td>
|
||||||
<td>issuer</td>
|
<td>issuer</td>
|
||||||
<td>x509.info.issuer<br>
|
<td>x509.info.issuer<br>
|
||||||
x509.info.issuer.dname</td>
|
x509.info.issuer.dname</td>
|
||||||
<td>CertificateIssuerName.IDENT<br>
|
<td>none<br>
|
||||||
X509CertImpl.ISSUER_DN</td>
|
X509CertImpl.ISSUER_DN</td>
|
||||||
<td>CertificateIssuerName<br>
|
<td>X500Name<br>
|
||||||
X500Name</td>
|
X500Name</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -109,9 +109,9 @@ java.util.Date</td>
|
||||||
<td>subject</td>
|
<td>subject</td>
|
||||||
<td>x509.info.subject<br>
|
<td>x509.info.subject<br>
|
||||||
x509.info.subject.dname</td>
|
x509.info.subject.dname</td>
|
||||||
<td>CertificateSubjectName.IDENT<br>
|
<td>none<br>
|
||||||
X509CertImpl.SUBJECT_DN</td>
|
X509CertImpl.SUBJECT_DN</td>
|
||||||
<td>CertificateSubjectName<br>
|
<td>X500Name<br>
|
||||||
X500Name</td>
|
X500Name</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -127,18 +127,18 @@ X509Key</td>
|
||||||
<td>issuerUniqueID</td>
|
<td>issuerUniqueID</td>
|
||||||
<td>x509.info.issuerID<br>
|
<td>x509.info.issuerID<br>
|
||||||
x509.info.issuerID.id</td>
|
x509.info.issuerID.id</td>
|
||||||
<td>CertificateIssuerUniqueIdentity.IDENT<br>
|
<td>none<br>
|
||||||
none</td>
|
none</td>
|
||||||
<td>CertificateIssuerUniqueIdentity<br>
|
<td>UniqueIdentity<br>
|
||||||
UniqueIdentity</td>
|
UniqueIdentity</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>subjectUniqueID</td>
|
<td>subjectUniqueID</td>
|
||||||
<td>x509.info.subjectID<br>
|
<td>x509.info.subjectID<br>
|
||||||
x509.info.subjectID.id</td>
|
x509.info.subjectID.id</td>
|
||||||
<td>CertificateSubjectUniqueIdentity.IDENT<br>
|
<td>none<br>
|
||||||
none</td>
|
none</td>
|
||||||
<td>CertificateSubjectUniqueIdentity<br>
|
<td>UniqueIdentity<br>
|
||||||
UniqueIdentity</td>
|
UniqueIdentity</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -54,8 +54,8 @@ public class GenKeyStore {
|
||||||
certInfo.set(X509CertInfo.VERSION, new CertificateVersion(CertificateVersion.V1));
|
certInfo.set(X509CertInfo.VERSION, new CertificateVersion(CertificateVersion.V1));
|
||||||
certInfo.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(1));
|
certInfo.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(1));
|
||||||
certInfo.set(X509CertInfo.ALGORITHM_ID, new CertificateAlgorithmId(algID));
|
certInfo.set(X509CertInfo.ALGORITHM_ID, new CertificateAlgorithmId(algID));
|
||||||
certInfo.set(X509CertInfo.SUBJECT, new CertificateSubjectName(name));
|
certInfo.set(X509CertInfo.SUBJECT, name);
|
||||||
certInfo.set(X509CertInfo.ISSUER, new CertificateIssuerName(name));
|
certInfo.set(X509CertInfo.ISSUER, name);
|
||||||
certInfo.set(X509CertInfo.KEY, new CertificateX509Key(publicKey));
|
certInfo.set(X509CertInfo.KEY, new CertificateX509Key(publicKey));
|
||||||
certInfo.set(X509CertInfo.VALIDITY, new CertificateValidity(date, date));
|
certInfo.set(X509CertInfo.VALIDITY, new CertificateValidity(date, date));
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@ public class BigCRL {
|
||||||
X509CertInfo signerCertInfo = (X509CertInfo)signerCertImpl.get(
|
X509CertInfo signerCertInfo = (X509CertInfo)signerCertImpl.get(
|
||||||
X509CertImpl.NAME + "." + X509CertImpl.INFO);
|
X509CertImpl.NAME + "." + X509CertImpl.INFO);
|
||||||
X500Name owner = (X500Name)signerCertInfo.get(X509CertInfo.SUBJECT + "."
|
X500Name owner = (X500Name)signerCertInfo.get(X509CertInfo.SUBJECT + "."
|
||||||
+ CertificateSubjectName.DN_NAME);
|
+ X509CertInfo.DN_NAME);
|
||||||
|
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
PrivateKey privateKey = (PrivateKey)
|
PrivateKey privateKey = (PrivateKey)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -54,8 +54,8 @@ public class GenKeyStore {
|
||||||
certInfo.set(X509CertInfo.VERSION, new CertificateVersion(CertificateVersion.V1));
|
certInfo.set(X509CertInfo.VERSION, new CertificateVersion(CertificateVersion.V1));
|
||||||
certInfo.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(1));
|
certInfo.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(1));
|
||||||
certInfo.set(X509CertInfo.ALGORITHM_ID, new CertificateAlgorithmId(algID));
|
certInfo.set(X509CertInfo.ALGORITHM_ID, new CertificateAlgorithmId(algID));
|
||||||
certInfo.set(X509CertInfo.SUBJECT, new CertificateSubjectName(name));
|
certInfo.set(X509CertInfo.SUBJECT, name);
|
||||||
certInfo.set(X509CertInfo.ISSUER, new CertificateIssuerName(name));
|
certInfo.set(X509CertInfo.ISSUER, name);
|
||||||
certInfo.set(X509CertInfo.KEY, new CertificateX509Key(publicKey));
|
certInfo.set(X509CertInfo.KEY, new CertificateX509Key(publicKey));
|
||||||
certInfo.set(X509CertInfo.VALIDITY, new CertificateValidity(date, date));
|
certInfo.set(X509CertInfo.VALIDITY, new CertificateValidity(date, date));
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue