summaryrefslogtreecommitdiffstats
path: root/base/ca/src
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2017-05-25 19:35:36 +0200
committerEndi S. Dewata <edewata@redhat.com>2017-05-25 23:09:56 +0200
commit5ce1212159f8055ab7534887542e1d8cb41eb15d (patch)
tree8277ba25230bcc9356c7fcc72202f8b65c8552c5 /base/ca/src
parent8aa94e1ca017e54454f6f6f6ebb4ee254062e822 (diff)
downloadpki-5ce1212159f8055ab7534887542e1d8cb41eb15d.tar.gz
pki-5ce1212159f8055ab7534887542e1d8cb41eb15d.tar.xz
pki-5ce1212159f8055ab7534887542e1d8cb41eb15d.zip
Refactored CRLIssuingPoint.generateDeltaCRL().
The code related to delta CRL generation has been moved into generateDeltaCRL(). https://pagure.io/dogtagpki/issue/2651 Change-Id: Ic38c654cea03fe8748bd9663b5414fbe8e762f26
Diffstat (limited to 'base/ca/src')
-rw-r--r--base/ca/src/com/netscape/ca/CRLIssuingPoint.java102
1 files changed, 54 insertions, 48 deletions
diff --git a/base/ca/src/com/netscape/ca/CRLIssuingPoint.java b/base/ca/src/com/netscape/ca/CRLIssuingPoint.java
index 3764adf1b..feca02a69 100644
--- a/base/ca/src/com/netscape/ca/CRLIssuingPoint.java
+++ b/base/ca/src/com/netscape/ca/CRLIssuingPoint.java
@@ -2607,51 +2607,15 @@ public class CRLIssuingPoint implements ICRLIssuingPoint, Runnable {
mSplits[5] += System.currentTimeMillis();
} else {
if (isDeltaCRLEnabled()) {
- mSplits[1] -= System.currentTimeMillis();
- @SuppressWarnings("unchecked")
- Hashtable<BigInteger, RevokedCertificate> deltaCRLCerts =
- (Hashtable<BigInteger, RevokedCertificate>) clonedRevokedCerts.clone();
- deltaCRLCerts.putAll(clonedUnrevokedCerts);
- if (mIncludeExpiredCertsOneExtraTime) {
- if (!clonedExpiredCerts.isEmpty()) {
- for (Enumeration<BigInteger> e = clonedExpiredCerts.keys(); e.hasMoreElements();) {
- BigInteger serialNumber = e.nextElement();
- if ((mLastFullUpdate != null &&
- mLastFullUpdate.after((mExpiredCerts.get(serialNumber)).getRevocationDate())) ||
- mLastFullUpdate == null) {
- deltaCRLCerts.put(serialNumber, clonedExpiredCerts.get(serialNumber));
- }
- }
- }
- } else {
- deltaCRLCerts.putAll(clonedExpiredCerts);
- }
-
- mLastCRLNumber = mCRLNumber;
-
- CRLExtensions ext = generateCRLExtensions(FreshestCRLExtension.NAME);
-
- mSplits[1] += System.currentTimeMillis();
+ generateDeltaCRL(
+ clonedRevokedCerts,
+ clonedUnrevokedCerts,
+ clonedExpiredCerts,
+ signingAlgorithm,
+ thisUpdate,
+ nextDeltaUpdate);
- X509CRLImpl newX509DeltaCRL = generateDeltaCRL(
- deltaCRLCerts, signingAlgorithm, thisUpdate, nextDeltaUpdate, ext);
-
- try {
- mSplits[4] -= System.currentTimeMillis();
- publishCRL(newX509DeltaCRL, true);
- mSplits[4] += System.currentTimeMillis();
- } catch (EBaseException e) {
- newX509DeltaCRL = null;
- if (Debug.on())
- Debug.printStackTrace(e);
- log(ILogger.LL_FAILURE,
- CMS.getLogMessage("CMSCORE_CA_ISSUING_PUBLISH_DELTA", mCRLNumber.toString(), e.toString()));
- } catch (OutOfMemoryError e) {
- newX509DeltaCRL = null;
- log(ILogger.LL_FAILURE,
- CMS.getLogMessage("CMSCORE_CA_ISSUING_PUBLISH_DELTA", mCRLNumber.toString(), e.toString()));
- }
} else {
mDeltaCRLSize = -1;
}
@@ -2780,12 +2744,41 @@ public class CRLIssuingPoint implements ICRLIssuingPoint, Runnable {
return ext;
}
- X509CRLImpl generateDeltaCRL(
- Hashtable<BigInteger, RevokedCertificate> deltaCRLCerts,
+ void generateDeltaCRL(
+ Hashtable<BigInteger, RevokedCertificate> clonedRevokedCerts,
+ Hashtable<BigInteger, RevokedCertificate> clonedUnrevokedCerts,
+ Hashtable<BigInteger, RevokedCertificate> clonedExpiredCerts,
String signingAlgorithm,
Date thisUpdate,
- Date nextDeltaUpdate,
- CRLExtensions ext) {
+ Date nextDeltaUpdate) {
+
+ mSplits[1] -= System.currentTimeMillis();
+
+ @SuppressWarnings("unchecked")
+ Hashtable<BigInteger, RevokedCertificate> deltaCRLCerts =
+ (Hashtable<BigInteger, RevokedCertificate>) clonedRevokedCerts.clone();
+
+ deltaCRLCerts.putAll(clonedUnrevokedCerts);
+
+ if (mIncludeExpiredCertsOneExtraTime) {
+
+ for (Enumeration<BigInteger> e = clonedExpiredCerts.keys(); e.hasMoreElements();) {
+ BigInteger serialNumber = e.nextElement();
+ if (mLastFullUpdate == null ||
+ mLastFullUpdate.after(mExpiredCerts.get(serialNumber).getRevocationDate())) {
+ deltaCRLCerts.put(serialNumber, clonedExpiredCerts.get(serialNumber));
+ }
+ }
+
+ } else {
+ deltaCRLCerts.putAll(clonedExpiredCerts);
+ }
+
+ mLastCRLNumber = mCRLNumber;
+
+ CRLExtensions ext = generateCRLExtensions(FreshestCRLExtension.NAME);
+
+ mSplits[1] += System.currentTimeMillis();
X509CRLImpl newX509DeltaCRL = null;
@@ -2868,7 +2861,20 @@ public class CRLIssuingPoint implements ICRLIssuingPoint, Runnable {
mDeltaCRLSize = -1;
}
- return newX509DeltaCRL;
+ try {
+ mSplits[4] -= System.currentTimeMillis();
+ publishCRL(newX509DeltaCRL, true);
+ mSplits[4] += System.currentTimeMillis();
+
+ } catch (EBaseException e) {
+ CMS.debug(e);
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("CMSCORE_CA_ISSUING_PUBLISH_DELTA", mCRLNumber.toString(), e.toString()));
+ } catch (OutOfMemoryError e) {
+ CMS.debug(e);
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("CMSCORE_CA_ISSUING_PUBLISH_DELTA", mCRLNumber.toString(), e.toString()));
+ }
}
X509CRLImpl generateFullCRL(