summaryrefslogtreecommitdiffstats
path: root/bcprov/src/main/java/org/bouncycastle/asn1/DERInteger.java
diff options
context:
space:
mode:
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/asn1/DERInteger.java')
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/DERInteger.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/DERInteger.java b/bcprov/src/main/java/org/bouncycastle/asn1/DERInteger.java
index d5e826d..3804450 100644
--- a/bcprov/src/main/java/org/bouncycastle/asn1/DERInteger.java
+++ b/bcprov/src/main/java/org/bouncycastle/asn1/DERInteger.java
@@ -27,6 +27,18 @@ public class DERInteger
return new ASN1Integer((((DERInteger)obj).getValue()));
}
+ if (obj instanceof byte[])
+ {
+ try
+ {
+ return (ASN1Integer)fromByteArray((byte[])obj);
+ }
+ catch (Exception e)
+ {
+ throw new IllegalArgumentException("encoding error in getInstance: " + e.toString());
+ }
+ }
+
throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName());
}
@@ -56,7 +68,7 @@ public class DERInteger
}
public DERInteger(
- int value)
+ long value)
{
bytes = BigInteger.valueOf(value).toByteArray();
}