summaryrefslogtreecommitdiffstats
path: root/base/util
diff options
context:
space:
mode:
authorChristina Fu <cfu@redhat.com>2014-10-15 10:30:31 -0700
committerChristina Fu <cfu@redhat.com>2014-10-23 11:01:23 -0700
commit5bbd06e6e77729c63d65b77445f71f63ea0cdd1f (patch)
tree5c580f2390ef5d9dc164a161e6b82a025dbd2184 /base/util
parent223c483d1bc6b3425a86439f73bcf5031a2af4d6 (diff)
downloadpki-5bbd06e6e77729c63d65b77445f71f63ea0cdd1f.tar.gz
pki-5bbd06e6e77729c63d65b77445f71f63ea0cdd1f.tar.xz
pki-5bbd06e6e77729c63d65b77445f71f63ea0cdd1f.zip
Bug1151147 issuerDN encoding correction
Diffstat (limited to 'base/util')
-rw-r--r--base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java18
-rwxr-xr-xbase/util/src/netscape/security/x509/X509CertImpl.java8
-rw-r--r--base/util/src/netscape/security/x509/X509CertInfo.java8
3 files changed, 32 insertions, 2 deletions
diff --git a/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java b/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java
index cf2bafac1..3b1041a74 100644
--- a/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java
+++ b/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java
@@ -1055,14 +1055,28 @@ public class CryptoUtil {
CertificateException,
InvalidKeyException,
NoSuchAlgorithmException {
+ CertificateIssuerName issuernameObj =
+ new CertificateIssuerName(new X500Name(issuername));
+ return createX509CertInfo(x509key, serialno, issuernameObj, subjname, notBefore, notAfter, alg);
+ }
+
+ public static X509CertInfo createX509CertInfo(X509Key x509key,
+ BigInteger serialno, CertificateIssuerName issuernameObj, String subjname,
+ Date notBefore, Date notAfter, String alg)
+ throws IOException,
+ CertificateException,
+ InvalidKeyException,
+ NoSuchAlgorithmException {
X509CertInfo info = new X509CertInfo();
info.set(X509CertInfo.VERSION, new
CertificateVersion(CertificateVersion.V3));
info.set(X509CertInfo.SERIAL_NUMBER, new
CertificateSerialNumber(serialno));
- info.set(X509CertInfo.ISSUER, new
- CertificateIssuerName(new X500Name(issuername)));
+ if (issuernameObj != null) {
+ info.set(X509CertInfo.ISSUER,
+ issuernameObj);
+ }
info.set(X509CertInfo.SUBJECT, new
CertificateSubjectName(new X500Name(subjname)));
info.set(X509CertInfo.VALIDITY, new
diff --git a/base/util/src/netscape/security/x509/X509CertImpl.java b/base/util/src/netscape/security/x509/X509CertImpl.java
index 657e4d224..0ad7724ee 100755
--- a/base/util/src/netscape/security/x509/X509CertImpl.java
+++ b/base/util/src/netscape/security/x509/X509CertImpl.java
@@ -725,6 +725,10 @@ public class X509CertImpl extends X509Certificate
}
}
+ public CertificateSubjectName getSubjectObj() {
+ return info.getSubjectObj();
+ }
+
/**
* Gets the issuer distinguished name from the certificate.
*
@@ -743,6 +747,10 @@ public class X509CertImpl extends X509Certificate
}
}
+ public CertificateIssuerName getIssuerObj() {
+ return info.getIssuerObj();
+ }
+
/**
* Gets the notBefore date from the validity period of the certificate.
*
diff --git a/base/util/src/netscape/security/x509/X509CertInfo.java b/base/util/src/netscape/security/x509/X509CertInfo.java
index 2ad17ebc0..29757ec8a 100644
--- a/base/util/src/netscape/security/x509/X509CertInfo.java
+++ b/base/util/src/netscape/security/x509/X509CertInfo.java
@@ -873,6 +873,10 @@ public class X509CertInfo implements CertAttrSet, Serializable {
issuer = (CertificateIssuerName) val;
}
+ public CertificateIssuerName getIssuerObj() {
+ return issuer;
+ }
+
/**
* Set the validity interval of the certificate.
*
@@ -901,6 +905,10 @@ public class X509CertInfo implements CertAttrSet, Serializable {
subject = (CertificateSubjectName) val;
}
+ public CertificateSubjectName getSubjectObj() {
+ return subject;
+ }
+
/**
* Set the public key in the certificate.
*