diff options
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.java | 13 |
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; |