From 78bdeb25861c9fd66457b73eecf7274913f271cb Mon Sep 17 00:00:00 2001 From: alee Date: Thu, 14 Aug 2008 19:01:40 +0000 Subject: Fix for bug #458317: certitificate policy extensions not displayed in PrettyPrintCert git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/trunk@110 c9f7a03b-bd48-0410-a16d-cbbf54688b0b --- .../src/netscape/security/util/ExtPrettyPrint.java | 42 ++++++++++++++++++++-- .../src/netscape/security/x509/DisplayText.java | 15 ++++++++ 2 files changed, 54 insertions(+), 3 deletions(-) (limited to 'pki/base/util/src/netscape/security') diff --git a/pki/base/util/src/netscape/security/util/ExtPrettyPrint.java b/pki/base/util/src/netscape/security/util/ExtPrettyPrint.java index 8db38c7a1..1efe1db4b 100644 --- a/pki/base/util/src/netscape/security/util/ExtPrettyPrint.java +++ b/pki/base/util/src/netscape/security/util/ExtPrettyPrint.java @@ -1534,15 +1534,51 @@ public class ExtPrettyPrint { } sb.append(pp.indent(mIndentSize + 4) + mResource.getString( PrettyPrintResources.TOKEN_CERT_POLICIES) + "\n"); - CertificatePoliciesExtension cp = (CertificatePoliciesExtension) mExt; - Vector cpv = (Vector) cp.get("infos"); + CertificatePoliciesExtension cp = (CertificatePoliciesExtension) mExt; + Vector cpv = (Vector) cp.get("infos"); Enumeration e = cpv.elements(); if (e != null) { while (e.hasMoreElements()) { CertificatePolicyInfo cpi = (CertificatePolicyInfo) e.nextElement(); - sb.append(pp.indent(mIndentSize + 8) + cpi.getPolicyIdentifier().getIdentifier().toString() + "\n"); + sb.append(pp.indent(mIndentSize + 8) + "Policy Identifier: " + cpi.getPolicyIdentifier().getIdentifier().toString() + "\n"); + PolicyQualifiers cpq = cpi.getPolicyQualifiers(); + if (cpq != null) { + for (int i=0; i < cpq.size(); i++) { + PolicyQualifierInfo pq = cpq.getInfoAt(i); + Qualifier q = pq.getQualifier(); + if (q instanceof CPSuri) { + sb.append(pp.indent(mIndentSize + 12) + "Policy Qualifier Identifier: CPS Pointer Qualifier - " + + pq.getId() + "\n"); + sb.append(pp.indent(mIndentSize + 12) + "Policy Qualifier Data: " + ((CPSuri) q).getURI() + "\n"); + } + else if (q instanceof UserNotice) { + sb.append(pp.indent(mIndentSize + 12) + "Policy Qualifier Identifier: CPS User Notice Qualifier - " + + pq.getId() + "\n"); + NoticeReference nref = ((UserNotice) q).getNoticeReference(); + DisplayText dt = ((UserNotice) q).getDisplayText(); + sb.append(pp.indent(mIndentSize +12) + "Policy Qualifier Data: \n"); + if (nref != null) { + sb.append(pp.indent(mIndentSize+16) + "Organization: " + nref.getOrganization().toString() + "\n" ); + sb.append(pp.indent(mIndentSize+16) + "Notice Numbers: " ); + int[] nums = nref.getNumbers(); + for (int k=0; k