summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorawnuk <awnuk@c9f7a03b-bd48-0410-a16d-cbbf54688b0b>2009-06-12 20:04:05 +0000
committerawnuk <awnuk@c9f7a03b-bd48-0410-a16d-cbbf54688b0b>2009-06-12 20:04:05 +0000
commit46b9ff8346df69b9637b8c3c93984374714c0ab2 (patch)
tree2a5e309f9e9914f8a4d8c58049b40236f8449cb1
parentc402014371bb72953632b36d8438d0570411874f (diff)
downloadpki-46b9ff8346df69b9637b8c3c93984374714c0ab2.tar.gz
pki-46b9ff8346df69b9637b8c3c93984374714c0ab2.tar.xz
pki-46b9ff8346df69b9637b8c3c93984374714c0ab2.zip
Bugzilla bug #502694.
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/trunk@596 c9f7a03b-bd48-0410-a16d-cbbf54688b0b
-rw-r--r--pki/base/common/src/com/netscape/cms/servlet/cert/RevocationServlet.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/pki/base/common/src/com/netscape/cms/servlet/cert/RevocationServlet.java b/pki/base/common/src/com/netscape/cms/servlet/cert/RevocationServlet.java
index 50f55a4dc..fe5ea3343 100644
--- a/pki/base/common/src/com/netscape/cms/servlet/cert/RevocationServlet.java
+++ b/pki/base/common/src/com/netscape/cms/servlet/cert/RevocationServlet.java
@@ -23,6 +23,7 @@ import com.netscape.cms.servlet.base.*;
import java.util.Enumeration;
import java.util.Locale;
+import java.util.Random;
import java.io.IOException;
import java.math.BigInteger;
@@ -71,6 +72,10 @@ public class RevocationServlet extends CMSServlet {
private String mFormPath = null;
private boolean mRevokeByDN = true;
+ private Random mRandom = null;
+ private Nonces mNonces = null;
+
+
public RevocationServlet() {
super();
}
@@ -93,6 +98,13 @@ public class RevocationServlet extends CMSServlet {
if (mFormPath == null)
mFormPath = "/" + TPL_FILE;
+ if (mAuthority instanceof ICertificateAuthority) {
+ if (((ICertificateAuthority) mAuthority).noncesEnabled()) {
+ mNonces = ((ICertificateAuthority) mAuthority).getNonces();
+ mRandom = new Random();
+ }
+ }
+
// set to false by revokeByDN=false in web.xml
mRevokeByDN = false;
String tmp = sc.getInitParameter(PROP_REVOKEBYDN);
@@ -188,6 +200,14 @@ public class RevocationServlet extends CMSServlet {
// header.addLongValue("validNotBefore", old_cert.getNotBefore().getTime()/1000);
// header.addLongValue("validNotAfter", old_cert.getNotAfter().getTime()/1000);
+ if (mNonces != null) {
+ long n = mRandom.nextLong();
+ long m = mNonces.addNonce(n, (X509Certificate)old_cert);
+ if ((n + m) != 0) {
+ header.addStringValue("nonce", Long.toString(m));
+ }
+ }
+
boolean noInfo = false;
X509CertImpl[] certsToRevoke = null;