summaryrefslogtreecommitdiffstats
path: root/base/common/src/com/netscape/cms/servlet/cert/FilterBuilder.java
diff options
context:
space:
mode:
authorEndi Sukma Dewata <edewata@redhat.com>2013-02-06 20:04:06 -0500
committerEndi Sukma Dewata <edewata@redhat.com>2013-02-07 10:42:25 -0500
commite4c376b34bae5692a5aebe2c80a38c858d7f5a31 (patch)
treecfb0a4c0569ff1046c18a1a203febf218e03eada /base/common/src/com/netscape/cms/servlet/cert/FilterBuilder.java
parentc232ca016f042b46ecd60449207a8109b6c71a44 (diff)
downloadpki-e4c376b34bae5692a5aebe2c80a38c858d7f5a31.tar.gz
pki-e4c376b34bae5692a5aebe2c80a38c858d7f5a31.tar.xz
pki-e4c376b34bae5692a5aebe2c80a38c858d7f5a31.zip
Fixed validity duration options for cert-find.
The cert-find command has been fixed to show better error messages on missing validity duration options. The validity duration unit has been changed to take "day", "week", "month", or "year" and convert it into milliseconds. Ticket #291, #500
Diffstat (limited to 'base/common/src/com/netscape/cms/servlet/cert/FilterBuilder.java')
-rw-r--r--base/common/src/com/netscape/cms/servlet/cert/FilterBuilder.java35
1 files changed, 14 insertions, 21 deletions
diff --git a/base/common/src/com/netscape/cms/servlet/cert/FilterBuilder.java b/base/common/src/com/netscape/cms/servlet/cert/FilterBuilder.java
index 86459a750..b8e32295a 100644
--- a/base/common/src/com/netscape/cms/servlet/cert/FilterBuilder.java
+++ b/base/common/src/com/netscape/cms/servlet/cert/FilterBuilder.java
@@ -22,6 +22,7 @@ import java.util.Calendar;
import java.util.StringTokenizer;
import com.netscape.certsrv.cert.CertSearchRequest;
+import com.netscape.certsrv.dbs.certdb.ICertRecord;
import com.netscape.cmsutil.ldap.LDAPUtil;
/**
@@ -105,7 +106,7 @@ public class FilterBuilder {
buildAVAFilter(request.getCountry(), "C", lf, matchStr);
if (lf.length() == 0) {
- filter.append("(x509cert.subject=*)");
+ filter.append("("+ICertRecord.ATTR_X509CERT_SUBJECT+"=*)");
return;
}
if (matchStr != null && matchStr.equals(MATCH_EXACTLY)) {
@@ -206,8 +207,8 @@ public class FilterBuilder {
if (!request.getValidNotBeforeInUse()) {
return;
}
- buildDateFilter(request.getValidNotBeforeFrom(), "x509cert.notBefore>=", 0, filter);
- buildDateFilter(request.getValidNotBeforeTo(), "x509cert.notBefore<=", 86399999, filter);
+ buildDateFilter(request.getValidNotBeforeFrom(), ICertRecord.ATTR_X509CERT_NOT_BEFORE+">=", 0, filter);
+ buildDateFilter(request.getValidNotBeforeTo(), ICertRecord.ATTR_X509CERT_NOT_BEFORE+"<=", 86399999, filter);
}
@@ -215,8 +216,8 @@ public class FilterBuilder {
if (!request.getValidNotAfterInUse()) {
return;
}
- buildDateFilter(request.getValidNotAfterFrom(), "x509cert.notAfter>=", 0, filter);
- buildDateFilter(request.getValidNotAfterTo(), "x509cert.notAfter<=", 86399999, filter);
+ buildDateFilter(request.getValidNotAfterFrom(), ICertRecord.ATTR_X509CERT_NOT_AFTER+">=", 0, filter);
+ buildDateFilter(request.getValidNotAfterTo(), ICertRecord.ATTR_X509CERT_NOT_AFTER+"<=", 86399999, filter);
}
@@ -224,21 +225,13 @@ public class FilterBuilder {
if (!request.getValidityLengthInUse()) {
return;
}
+
String op = request.getValidityOperation();
- long count = 0;
- try {
- count = Long.parseLong(request.getValidityCount());
- } catch (NumberFormatException e) {
- // safely ignore
- }
- long unit = 0;
- try {
- unit = Long.parseLong(request.getValidityUnit());
- } catch (NumberFormatException e) {
- // safely ignore
- }
+ Integer count = request.getValidityCount();
+ Long unit = request.getValidityUnit();
+
filter.append("(");
- filter.append("x509cert.duration");
+ filter.append(ICertRecord.ATTR_X509CERT_DURATION);
filter.append(LDAPUtil.escapeFilter(op));
filter.append(count * unit);
filter.append(")");
@@ -302,19 +295,19 @@ public class FilterBuilder {
if (param != null && !param.equals("")) {
if (match != null && match.equals(MATCH_EXACTLY)) {
lf.append("(|");
- lf.append("(x509cert.subject=*");
+ lf.append("("+ICertRecord.ATTR_X509CERT_SUBJECT+"=*");
lf.append(avaName);
lf.append("=");
lf.append(LDAPUtil.escapeFilter(LDAPUtil.escapeRDNValue(param)));
lf.append(",*)");
- lf.append("(x509cert.subject=*");
+ lf.append("("+ICertRecord.ATTR_X509CERT_SUBJECT+"=*");
lf.append(avaName);
lf.append("=");
lf.append(LDAPUtil.escapeFilter(LDAPUtil.escapeRDNValue(param)));
lf.append(")");
lf.append(")");
} else {
- lf.append("(x509cert.subject=*");
+ lf.append("("+ICertRecord.ATTR_X509CERT_SUBJECT+"=*");
lf.append(avaName);
lf.append("=");
lf.append("*");