summaryrefslogtreecommitdiffstats
path: root/base/tps/src/org/dogtagpki/server/tps/dbs/TPSCertRecord.java
diff options
context:
space:
mode:
Diffstat (limited to 'base/tps/src/org/dogtagpki/server/tps/dbs/TPSCertRecord.java')
-rw-r--r--base/tps/src/org/dogtagpki/server/tps/dbs/TPSCertRecord.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/base/tps/src/org/dogtagpki/server/tps/dbs/TPSCertRecord.java b/base/tps/src/org/dogtagpki/server/tps/dbs/TPSCertRecord.java
index 288f25f53..0f846c6de 100644
--- a/base/tps/src/org/dogtagpki/server/tps/dbs/TPSCertRecord.java
+++ b/base/tps/src/org/dogtagpki/server/tps/dbs/TPSCertRecord.java
@@ -18,6 +18,7 @@
package org.dogtagpki.server.tps.dbs;
+import java.math.BigInteger;
import java.util.Date;
import com.netscape.cmscore.dbs.DBAttribute;
@@ -68,6 +69,18 @@ public class TPSCertRecord extends DBRecord {
this.serialNumber = serialNumber;
}
+ public BigInteger getSerialNumberInBigInteger() {
+
+ if (serialNumber == null) return null;
+
+ if (serialNumber.length() < 3 || !serialNumber.startsWith("0x")) {
+ throw new NumberFormatException("Malformed hex serial number: " + serialNumber);
+ }
+
+ String value = serialNumber.substring(2); // skip over the '0x'
+ return new BigInteger(value, 16);
+ }
+
@DBAttribute("tokenSubject")
public String getSubject() {
return subject;