summaryrefslogtreecommitdiffstats
path: root/pki/base/common/src/com/netscape/cms/profile/def/PolicyMappingsExtDefault.java
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/common/src/com/netscape/cms/profile/def/PolicyMappingsExtDefault.java')
-rw-r--r--pki/base/common/src/com/netscape/cms/profile/def/PolicyMappingsExtDefault.java219
1 files changed, 116 insertions, 103 deletions
diff --git a/pki/base/common/src/com/netscape/cms/profile/def/PolicyMappingsExtDefault.java b/pki/base/common/src/com/netscape/cms/profile/def/PolicyMappingsExtDefault.java
index 533fb4a4..19bfb361 100644
--- a/pki/base/common/src/com/netscape/cms/profile/def/PolicyMappingsExtDefault.java
+++ b/pki/base/common/src/com/netscape/cms/profile/def/PolicyMappingsExtDefault.java
@@ -17,6 +17,7 @@
// --- END COPYRIGHT BLOCK ---
package com.netscape.cms.profile.def;
+
import java.io.IOException;
import java.util.Enumeration;
import java.util.Locale;
@@ -39,10 +40,12 @@ import com.netscape.certsrv.property.EPropertyException;
import com.netscape.certsrv.property.IDescriptor;
import com.netscape.certsrv.request.IRequest;
+
/**
- * This class implements an enrollment default policy that populates a policy
- * mappings extension into the certificate template.
- *
+ * This class implements an enrollment default policy
+ * that populates a policy mappings extension
+ * into the certificate template.
+ *
* @version $Revision$, $Date$
*/
public class PolicyMappingsExtDefault extends EnrollExtDefault {
@@ -82,26 +85,27 @@ public class PolicyMappingsExtDefault extends EnrollExtDefault {
}
public void init(IProfile profile, IConfigStore config)
- throws EProfileException {
+ throws EProfileException {
super.init(profile, config);
refreshConfigAndValueNames();
}
- public void setConfig(String name, String value) throws EPropertyException {
+ public void setConfig(String name, String value)
+ throws EPropertyException {
int num = 0;
if (name.equals(CONFIG_NUM_POLICY_MAPPINGS)) {
- try {
- num = Integer.parseInt(value);
+ try {
+ num = Integer.parseInt(value);
- if (num >= MAX_NUM_MAPPINGS || num < 0) {
- throw new EPropertyException(CMS.getUserMessage(
+ if (num >= MAX_NUM_MAPPINGS || num < 0) {
+ throw new EPropertyException(CMS.getUserMessage(
"CMS_INVALID_PROPERTY", CONFIG_NUM_POLICY_MAPPINGS));
- }
+ }
- } catch (Exception e) {
+ } catch (Exception e) {
throw new EPropertyException(CMS.getUserMessage(
- "CMS_INVALID_PROPERTY", CONFIG_NUM_POLICY_MAPPINGS));
- }
+ "CMS_INVALID_PROPERTY", CONFIG_NUM_POLICY_MAPPINGS));
+ }
}
super.setConfig(name, value);
}
@@ -128,25 +132,27 @@ public class PolicyMappingsExtDefault extends EnrollExtDefault {
}
}
- public IDescriptor getConfigDescriptor(Locale locale, String name) {
+ public IDescriptor getConfigDescriptor(Locale locale, String name) {
if (name.equals(CONFIG_CRITICAL)) {
- return new Descriptor(IDescriptor.BOOLEAN, null, "false",
+ return new Descriptor(IDescriptor.BOOLEAN, null,
+ "false",
CMS.getUserMessage(locale, "CMS_PROFILE_CRITICAL"));
} else if (name.startsWith(CONFIG_ISSUER_DOMAIN_POLICY)) {
- return new Descriptor(IDescriptor.STRING, null, null,
- CMS.getUserMessage(locale,
- "CMS_PROFILE_ISSUER_DOMAIN_POLICY"));
+ return new Descriptor(IDescriptor.STRING, null,
+ null,
+ CMS.getUserMessage(locale, "CMS_PROFILE_ISSUER_DOMAIN_POLICY"));
} else if (name.startsWith(CONFIG_SUBJECT_DOMAIN_POLICY)) {
- return new Descriptor(IDescriptor.STRING, null, null,
- CMS.getUserMessage(locale,
- "CMS_PROFILE_SUBJECT_DOMAIN_POLICY"));
+ return new Descriptor(IDescriptor.STRING, null,
+ null,
+ CMS.getUserMessage(locale, "CMS_PROFILE_SUBJECT_DOMAIN_POLICY"));
} else if (name.startsWith(CONFIG_ENABLE)) {
- return new Descriptor(IDescriptor.BOOLEAN, null, "false",
+ return new Descriptor(IDescriptor.BOOLEAN, null,
+ "false",
CMS.getUserMessage(locale, "CMS_PROFILE_ENABLE"));
} else if (name.startsWith(CONFIG_NUM_POLICY_MAPPINGS)) {
- return new Descriptor(IDescriptor.INTEGER, null, "1",
- CMS.getUserMessage(locale,
- "CMS_PROFILE_NUM_POLICY_MAPPINGS"));
+ return new Descriptor(IDescriptor.INTEGER, null,
+ "1",
+ CMS.getUserMessage(locale, "CMS_PROFILE_NUM_POLICY_MAPPINGS"));
}
return null;
@@ -154,49 +160,55 @@ public class PolicyMappingsExtDefault extends EnrollExtDefault {
public IDescriptor getValueDescriptor(Locale locale, String name) {
if (name.equals(VAL_CRITICAL)) {
- return new Descriptor(IDescriptor.BOOLEAN, null, "false",
+ return new Descriptor(IDescriptor.BOOLEAN, null,
+ "false",
CMS.getUserMessage(locale, "CMS_PROFILE_CRITICAL"));
} else if (name.equals(VAL_DOMAINS)) {
- return new Descriptor(IDescriptor.STRING_LIST, null, null,
+ return new Descriptor(IDescriptor.STRING_LIST, null,
+ null,
CMS.getUserMessage(locale, "CMS_PROFILE_DOMAINS"));
}
return null;
}
- public void setValue(String name, Locale locale, X509CertInfo info,
- String value) throws EPropertyException {
+ public void setValue(String name, Locale locale,
+ X509CertInfo info, String value)
+ throws EPropertyException {
try {
PolicyMappingsExtension ext = null;
if (name == null) {
- throw new EPropertyException(CMS.getUserMessage(locale,
- "CMS_INVALID_PROPERTY", name));
+ throw new EPropertyException(CMS.getUserMessage(
+ locale, "CMS_INVALID_PROPERTY", name));
}
- ext = (PolicyMappingsExtension) getExtension(
- PKIXExtensions.PolicyMappings_Id.toString(), info);
+ ext = (PolicyMappingsExtension)
+ getExtension(PKIXExtensions.PolicyMappings_Id.toString(),
+ info);
- if (ext == null) {
- populate(null, info);
+ if(ext == null) {
+ populate(null,info);
}
if (name.equals(VAL_CRITICAL)) {
- ext = (PolicyMappingsExtension) getExtension(
- PKIXExtensions.PolicyMappings_Id.toString(), info);
+ ext = (PolicyMappingsExtension)
+ getExtension(PKIXExtensions.PolicyMappings_Id.toString(),
+ info);
boolean val = Boolean.valueOf(value).booleanValue();
- if (ext == null) {
+ if(ext == null) {
return;
}
- ext.setCritical(val);
- } else if (name.equals(VAL_DOMAINS)) {
- ext = (PolicyMappingsExtension) getExtension(
- PKIXExtensions.PolicyMappings_Id.toString(), info);
-
- if (ext == null) {
+ ext.setCritical(val);
+ } else if (name.equals(VAL_DOMAINS)) {
+ ext = (PolicyMappingsExtension)
+ getExtension(PKIXExtensions.PolicyMappings_Id.toString(),
+ info);
+
+ if(ext == null) {
return;
- }
+ }
Vector v = parseRecords(value);
int size = v.size();
@@ -220,67 +232,68 @@ public class PolicyMappingsExtDefault extends EnrollExtDefault {
enable = nvps.getValue(name1);
}
}
-
+
if (enable != null && enable.equals("true")) {
- if (issuerPolicyId == null
- || issuerPolicyId.length() == 0
- || subjectPolicyId == null
- || subjectPolicyId.length() == 0)
- throw new EPropertyException(CMS.getUserMessage(
- locale, "CMS_PROFILE_POLICY_ID_NOT_FOUND"));
+ if (issuerPolicyId == null ||
+ issuerPolicyId.length() == 0 || subjectPolicyId == null ||
+ subjectPolicyId.length() == 0)
+ throw new EPropertyException(CMS.getUserMessage(
+ locale, "CMS_PROFILE_POLICY_ID_NOT_FOUND"));
CertificatePolicyMap map = new CertificatePolicyMap(
- new CertificatePolicyId(new ObjectIdentifier(
- issuerPolicyId)),
- new CertificatePolicyId(new ObjectIdentifier(
- subjectPolicyId)));
+ new CertificatePolicyId(new ObjectIdentifier(issuerPolicyId)),
+ new CertificatePolicyId(new ObjectIdentifier(subjectPolicyId)));
policyMaps.addElement(map);
}
}
ext.set(PolicyMappingsExtension.MAP, policyMaps);
} else {
- throw new EPropertyException(CMS.getUserMessage(locale,
- "CMS_INVALID_PROPERTY", name));
+ throw new EPropertyException(CMS.getUserMessage(
+ locale, "CMS_INVALID_PROPERTY", name));
}
- replaceExtension(PKIXExtensions.PolicyMappings_Id.toString(), ext,
- info);
+ replaceExtension(PKIXExtensions.PolicyMappings_Id.toString(),
+ ext, info);
} catch (EProfileException e) {
CMS.debug("PolicyMappingsExtDefault: setValue " + e.toString());
- throw new EPropertyException(CMS.getUserMessage(locale,
- "CMS_INVALID_PROPERTY", name));
+ throw new EPropertyException(CMS.getUserMessage(
+ locale, "CMS_INVALID_PROPERTY", name));
} catch (IOException e) {
CMS.debug("PolicyMappingsExtDefault: setValue " + e.toString());
- throw new EPropertyException(CMS.getUserMessage(locale,
- "CMS_INVALID_PROPERTY", name));
+ throw new EPropertyException(CMS.getUserMessage(
+ locale, "CMS_INVALID_PROPERTY", name));
}
}
- public String getValue(String name, Locale locale, X509CertInfo info)
- throws EPropertyException {
+ public String getValue(String name, Locale locale,
+ X509CertInfo info)
+ throws EPropertyException {
PolicyMappingsExtension ext = null;
if (name == null) {
- throw new EPropertyException(CMS.getUserMessage(locale,
- "CMS_INVALID_PROPERTY", name));
+ throw new EPropertyException(CMS.getUserMessage(
+ locale, "CMS_INVALID_PROPERTY", name));
}
- ext = (PolicyMappingsExtension) getExtension(
- PKIXExtensions.PolicyMappings_Id.toString(), info);
- if (ext == null) {
+ ext = (PolicyMappingsExtension)
+ getExtension(PKIXExtensions.PolicyMappings_Id.toString(),
+ info);
+ if(ext == null)
+ {
try {
- populate(null, info);
+ populate(null,info);
} catch (EProfileException e) {
- throw new EPropertyException(CMS.getUserMessage(locale,
- "CMS_INVALID_PROPERTY", name));
+ throw new EPropertyException(CMS.getUserMessage(
+ locale, "CMS_INVALID_PROPERTY", name));
}
}
if (name.equals(VAL_CRITICAL)) {
- ext = (PolicyMappingsExtension) getExtension(
- PKIXExtensions.PolicyMappings_Id.toString(), info);
+ ext = (PolicyMappingsExtension)
+ getExtension(PKIXExtensions.PolicyMappings_Id.toString(),
+ info);
if (ext == null) {
return null;
@@ -290,9 +303,10 @@ public class PolicyMappingsExtDefault extends EnrollExtDefault {
} else {
return "false";
}
- } else if (name.equals(VAL_DOMAINS)) {
- ext = (PolicyMappingsExtension) getExtension(
- PKIXExtensions.PolicyMappings_Id.toString(), info);
+ } else if (name.equals(VAL_DOMAINS)) {
+ ext = (PolicyMappingsExtension)
+ getExtension(PKIXExtensions.PolicyMappings_Id.toString(),
+ info);
if (ext == null)
return "";
@@ -300,7 +314,7 @@ public class PolicyMappingsExtDefault extends EnrollExtDefault {
int num_mappings = getNumMappings();
Enumeration maps = ext.getMappings();
-
+
int num = 0;
StringBuffer sb = new StringBuffer();
@@ -309,12 +323,12 @@ public class PolicyMappingsExtDefault extends EnrollExtDefault {
for (int i = 0; i < num_mappings; i++) {
NameValuePairs pairs = new NameValuePairs();
- if (maps.hasMoreElements()) {
- CertificatePolicyMap map = (CertificatePolicyMap) maps
- .nextElement();
-
+ if (maps.hasMoreElements()) {
+ CertificatePolicyMap map =
+ (CertificatePolicyMap) maps.nextElement();
+
CertificatePolicyId i1 = map.getIssuerIdentifier();
- CertificatePolicyId s1 = map.getSubjectIdentifier();
+ CertificatePolicyId s1 = map.getSubjectIdentifier();
pairs.add(ISSUER_POLICY_ID, i1.getIdentifier().toString());
pairs.add(SUBJECT_POLICY_ID, s1.getIdentifier().toString());
@@ -323,15 +337,15 @@ public class PolicyMappingsExtDefault extends EnrollExtDefault {
pairs.add(ISSUER_POLICY_ID, "");
pairs.add(SUBJECT_POLICY_ID, "");
pairs.add(POLICY_ID_ENABLE, "false");
-
+
}
recs.addElement(pairs);
- }
-
+ }
+
return buildRecords(recs);
} else {
- throw new EPropertyException(CMS.getUserMessage(locale,
- "CMS_INVALID_PROPERTY", name));
+ throw new EPropertyException(CMS.getUserMessage(
+ locale, "CMS_INVALID_PROPERTY", name));
}
}
@@ -354,8 +368,8 @@ public class PolicyMappingsExtDefault extends EnrollExtDefault {
sb.append(getConfig(CONFIG_ENABLE + i));
sb.append("}");
}
- return CMS.getUserMessage(locale,
- "CMS_PROFILE_DEF_POLICY_MAPPINGS_EXT",
+ return CMS.getUserMessage(locale,
+ "CMS_PROFILE_DEF_POLICY_MAPPINGS_EXT",
getConfig(CONFIG_CRITICAL), sb.toString());
}
@@ -363,23 +377,24 @@ public class PolicyMappingsExtDefault extends EnrollExtDefault {
* Populates the request with this policy default.
*/
public void populate(IRequest request, X509CertInfo info)
- throws EProfileException {
+ throws EProfileException {
PolicyMappingsExtension ext = createExtension();
if (ext == null)
return;
- addExtension(PKIXExtensions.PolicyMappings_Id.toString(), ext, info);
+ addExtension(PKIXExtensions.PolicyMappings_Id.toString(),
+ ext, info);
}
public PolicyMappingsExtension createExtension() {
- PolicyMappingsExtension ext = null;
+ PolicyMappingsExtension ext = null;
try {
boolean critical = getConfigBoolean(CONFIG_CRITICAL);
Vector policyMaps = new Vector();
int num = getNumMappings();
- for (int i = 0; i < num; i++) {
+ for (int i = 0; i < num; i++) {
String enable = getConfig(CONFIG_ENABLE + i);
if (enable != null && enable.equals("true")) {
@@ -389,17 +404,15 @@ public class PolicyMappingsExtDefault extends EnrollExtDefault {
return null;
}
- String subjectID = getConfig(CONFIG_SUBJECT_DOMAIN_POLICY
- + i);
+ String subjectID = getConfig(CONFIG_SUBJECT_DOMAIN_POLICY + i);
if (subjectID == null || subjectID.length() == 0) {
return null;
}
CertificatePolicyMap map = new CertificatePolicyMap(
- new CertificatePolicyId(new ObjectIdentifier(
- issuerID)), new CertificatePolicyId(
- new ObjectIdentifier(subjectID)));
+ new CertificatePolicyId(new ObjectIdentifier(issuerID)),
+ new CertificatePolicyId(new ObjectIdentifier(subjectID)));
policyMaps.addElement(map);
}
@@ -407,8 +420,8 @@ public class PolicyMappingsExtDefault extends EnrollExtDefault {
ext = new PolicyMappingsExtension(critical, policyMaps);
} catch (Exception e) {
- CMS.debug("PolicyMappingsExtDefault: createExtension "
- + e.toString());
+ CMS.debug("PolicyMappingsExtDefault: createExtension " +
+ e.toString());
}
return ext;