diff options
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/asn1/DERInteger.java')
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/asn1/DERInteger.java | 14 |
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(); } |