diff options
author | Christina Fu <cfu@redhat.com> | 2014-10-15 10:30:31 -0700 |
---|---|---|
committer | Christina Fu <cfu@redhat.com> | 2014-10-23 11:01:23 -0700 |
commit | 5bbd06e6e77729c63d65b77445f71f63ea0cdd1f (patch) | |
tree | 5c580f2390ef5d9dc164a161e6b82a025dbd2184 /base/util | |
parent | 223c483d1bc6b3425a86439f73bcf5031a2af4d6 (diff) | |
download | pki-5bbd06e6e77729c63d65b77445f71f63ea0cdd1f.tar.gz pki-5bbd06e6e77729c63d65b77445f71f63ea0cdd1f.tar.xz pki-5bbd06e6e77729c63d65b77445f71f63ea0cdd1f.zip |
Bug1151147 issuerDN encoding correction
Diffstat (limited to 'base/util')
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. * |