diff options
Diffstat (limited to 'libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/RSAPublicKey.java')
-rw-r--r-- | libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/RSAPublicKey.java | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/RSAPublicKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/RSAPublicKey.java deleted file mode 100644 index 2061a188c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/RSAPublicKey.java +++ /dev/null @@ -1,121 +0,0 @@ -package org.spongycastle.asn1.eac; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - - -/** - * an Iso7816RSAPublicKeyStructure structure. - * <p/> - * <pre> - * Certificate Holder Authorization ::= SEQUENCE { - * // modulus should be at least 1024bit and a multiple of 512. - * DERTaggedObject modulus, - * // access rights exponent - * DERTaggedObject accessRights, - * } - * </pre> - */ -public class RSAPublicKey - extends PublicKeyDataObject -{ - private ASN1ObjectIdentifier usage; - private BigInteger modulus; - private BigInteger exponent; - private int valid = 0; - private static int modulusValid = 0x01; - private static int exponentValid = 0x02; - - RSAPublicKey(ASN1Sequence seq) - { - Enumeration en = seq.getObjects(); - - this.usage = ASN1ObjectIdentifier.getInstance(en.nextElement()); - - while (en.hasMoreElements()) - { - UnsignedInteger val = UnsignedInteger.getInstance(en.nextElement()); - - switch (val.getTagNo()) - { - case 0x1: - setModulus(val); - break; - case 0x2: - setExponent(val); - break; - default: - throw new IllegalArgumentException("Unknown DERTaggedObject :" + val.getTagNo() + "-> not an Iso7816RSAPublicKeyStructure"); - } - } - if (valid != 0x3) - { - throw new IllegalArgumentException("missing argument -> not an Iso7816RSAPublicKeyStructure"); - } - } - - public RSAPublicKey(ASN1ObjectIdentifier usage, BigInteger modulus, BigInteger exponent) - { - this.usage = usage; - this.modulus = modulus; - this.exponent = exponent; - } - - public ASN1ObjectIdentifier getUsage() - { - return usage; - } - - public BigInteger getModulus() - { - return modulus; - } - - public BigInteger getPublicExponent() - { - return exponent; - } - - private void setModulus(UnsignedInteger modulus) - { - if ((valid & modulusValid) == 0) - { - valid |= modulusValid; - this.modulus = modulus.getValue(); - } - else - { - throw new IllegalArgumentException("Modulus already set"); - } - } - - private void setExponent(UnsignedInteger exponent) - { - if ((valid & exponentValid) == 0) - { - valid |= exponentValid; - this.exponent = exponent.getValue(); - } - else - { - throw new IllegalArgumentException("Exponent already set"); - } - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(usage); - v.add(new UnsignedInteger(0x01, getModulus())); - v.add(new UnsignedInteger(0x02, getPublicExponent())); - - return new DERSequence(v); - } -} |