diff options
author | Jack Magne <jmagne@redhat.com> | 2012-01-13 16:57:06 -0800 |
---|---|---|
committer | Jack Magne <jmagne@redhat.com> | 2012-01-13 16:57:06 -0800 |
commit | 0491736b2570447391835bc2e5282d809f0de4f1 (patch) | |
tree | 63bba7b989327317831c452c495b5b8e667c2e20 /pki/base/common/src/com/netscape/cms/servlet/cert | |
parent | e7ffc2b51be1e0826f93889896e3601b5f1d3f57 (diff) | |
download | pki-0491736b2570447391835bc2e5282d809f0de4f1.tar.gz pki-0491736b2570447391835bc2e5282d809f0de4f1.tar.xz pki-0491736b2570447391835bc2e5282d809f0de4f1.zip |
Big numbers fix for CA and DRM.
This patch resolves multiple issues related to use of big numbers on CA and DRM
It also provides a fix for incomplete recovery requests causing null pointer exception.
Bugs: 756133, 758505.
Complete formatting changes for QueryRec.java.
Diffstat (limited to 'pki/base/common/src/com/netscape/cms/servlet/cert')
5 files changed, 13 insertions, 19 deletions
diff --git a/pki/base/common/src/com/netscape/cms/servlet/cert/DoRevoke.java b/pki/base/common/src/com/netscape/cms/servlet/cert/DoRevoke.java index 4c11d477d..97a70fac3 100644 --- a/pki/base/common/src/com/netscape/cms/servlet/cert/DoRevoke.java +++ b/pki/base/common/src/com/netscape/cms/servlet/cert/DoRevoke.java @@ -24,6 +24,7 @@ import java.util.Date; import java.util.Enumeration; import java.util.Locale; import java.util.Vector; +import java.math.BigInteger; import javax.servlet.ServletConfig; import javax.servlet.ServletException; @@ -1161,31 +1162,28 @@ public class DoRevoke extends CMSServlet { // find out if the value is hex or decimal - int value = -1; + BigInteger value = BigInteger.ONE.negate(); //try int try { - value = Integer.parseInt(serialNumber, 10); + value = new BigInteger(serialNumber, 10); } catch (NumberFormatException e) { } //try hex - if (value == -1) { + if (value.compareTo(BigInteger.ONE.negate()) == 0) { try { - value = Integer.parseInt(serialNumber, 16); - + value = new BigInteger(serialNumber, 16); } catch (NumberFormatException e) { } } // give up if it isn't hex or dec - if (value == -1) { + if (value.compareTo(BigInteger.ONE.negate()) == 0) { throw new NumberFormatException(); } // convert it to hexadecimal - serialNumber = "0x" - + Integer.toHexString( - value); + serialNumber = "0x" + value.toString(16); } else { serialNumber = ILogger.SIGNED_AUDIT_EMPTY_VALUE; } diff --git a/pki/base/common/src/com/netscape/cms/servlet/cert/DoRevokeTPS.java b/pki/base/common/src/com/netscape/cms/servlet/cert/DoRevokeTPS.java index f17e576d6..075f3218b 100644 --- a/pki/base/common/src/com/netscape/cms/servlet/cert/DoRevokeTPS.java +++ b/pki/base/common/src/com/netscape/cms/servlet/cert/DoRevokeTPS.java @@ -23,6 +23,7 @@ import java.util.Date; import java.util.Enumeration; import java.util.Locale; import java.util.Vector; +import java.math.BigInteger; import javax.servlet.ServletConfig; import javax.servlet.ServletException; @@ -917,9 +918,7 @@ public class DoRevokeTPS extends CMSServlet { serialNumber = eeSerialNumber.trim(); // convert it to hexadecimal - serialNumber = "0x" - + Integer.toHexString( - Integer.valueOf(serialNumber).intValue()); + serialNumber = "0x" + (new BigInteger(serialNumber)).toString(16); } else { serialNumber = ILogger.SIGNED_AUDIT_EMPTY_VALUE; } diff --git a/pki/base/common/src/com/netscape/cms/servlet/cert/DoUnrevoke.java b/pki/base/common/src/com/netscape/cms/servlet/cert/DoUnrevoke.java index 656d36f85..edf04b1ba 100644 --- a/pki/base/common/src/com/netscape/cms/servlet/cert/DoUnrevoke.java +++ b/pki/base/common/src/com/netscape/cms/servlet/cert/DoUnrevoke.java @@ -662,9 +662,7 @@ public class DoUnrevoke extends CMSServlet { serialNumber = eeSerialNumber.trim(); // convert it to hexadecimal - serialNumber = "0x" - + Integer.toHexString( - Integer.valueOf(serialNumber).intValue()); + serialNumber = "0x" + (new BigInteger(serialNumber)).toString(16); } else { serialNumber = ILogger.SIGNED_AUDIT_EMPTY_VALUE; } diff --git a/pki/base/common/src/com/netscape/cms/servlet/cert/DoUnrevokeTPS.java b/pki/base/common/src/com/netscape/cms/servlet/cert/DoUnrevokeTPS.java index 3af743a95..edc406137 100644 --- a/pki/base/common/src/com/netscape/cms/servlet/cert/DoUnrevokeTPS.java +++ b/pki/base/common/src/com/netscape/cms/servlet/cert/DoUnrevokeTPS.java @@ -615,9 +615,7 @@ public class DoUnrevokeTPS extends CMSServlet { serialNumber = eeSerialNumber.trim(); // convert it to hexadecimal - serialNumber = "0x" - + Integer.toHexString( - Integer.valueOf(serialNumber).intValue()); + serialNumber = "0x" + (new BigInteger(serialNumber)).toString(16); } else { serialNumber = ILogger.SIGNED_AUDIT_EMPTY_VALUE; } diff --git a/pki/base/common/src/com/netscape/cms/servlet/cert/GetCertFromRequest.java b/pki/base/common/src/com/netscape/cms/servlet/cert/GetCertFromRequest.java index 67481e7df..71b0004cd 100644 --- a/pki/base/common/src/com/netscape/cms/servlet/cert/GetCertFromRequest.java +++ b/pki/base/common/src/com/netscape/cms/servlet/cert/GetCertFromRequest.java @@ -19,6 +19,7 @@ package com.netscape.cms.servlet.cert; import java.io.IOException; import java.util.Locale; +import java.math.BigInteger; import javax.servlet.ServletConfig; import javax.servlet.ServletException; @@ -169,7 +170,7 @@ public class GetCertFromRequest extends CMSServlet { } // check if request Id is valid. try { - Integer.parseInt(requestId); + new BigInteger(requestId); } catch (NumberFormatException e) { log(ILogger.LL_FAILURE, CMS.getLogMessage("CMSGW_INVALID_REQ_ID_FORMAT", requestId)); throw new EBaseException( |