FileDocCategorySizeDatePackage
RSAPublicKeyStructure.javaAPI DocAndroid 1.5 API2526Wed May 06 22:41:06 BST 2009org.bouncycastle.asn1.x509

RSAPublicKeyStructure

public class RSAPublicKeyStructure extends org.bouncycastle.asn1.ASN1Encodable

Fields Summary
private BigInteger
modulus
private BigInteger
publicExponent
Constructors Summary
public RSAPublicKeyStructure(BigInteger modulus, BigInteger publicExponent)

        this.modulus = modulus;
        this.publicExponent = publicExponent;
    
public RSAPublicKeyStructure(org.bouncycastle.asn1.ASN1Sequence seq)

        if (seq.size() != 2)
        {
            throw new IllegalArgumentException("Bad sequence size: "
                    + seq.size());
        }

        Enumeration e = seq.getObjects();

        modulus = DERInteger.getInstance(e.nextElement()).getPositiveValue();
        publicExponent = DERInteger.getInstance(e.nextElement()).getPositiveValue();
    
Methods Summary
public static org.bouncycastle.asn1.x509.RSAPublicKeyStructuregetInstance(org.bouncycastle.asn1.ASN1TaggedObject obj, boolean explicit)

        return getInstance(ASN1Sequence.getInstance(obj, explicit));
    
public static org.bouncycastle.asn1.x509.RSAPublicKeyStructuregetInstance(java.lang.Object obj)

        if(obj == null || obj instanceof RSAPublicKeyStructure) 
        {
            return (RSAPublicKeyStructure)obj;
        }
        
        if(obj instanceof ASN1Sequence) 
        {
            return new RSAPublicKeyStructure((ASN1Sequence)obj);
        }
        
        throw new IllegalArgumentException("Invalid RSAPublicKeyStructure: " + obj.getClass().getName());
    
public java.math.BigIntegergetModulus()

        return modulus;
    
public java.math.BigIntegergetPublicExponent()

        return publicExponent;
    
public org.bouncycastle.asn1.DERObjecttoASN1Object()
This outputs the key in PKCS1v2 format.
RSAPublicKey ::= SEQUENCE {
modulus INTEGER, -- n
publicExponent INTEGER, -- e
}

        ASN1EncodableVector  v = new ASN1EncodableVector();

        v.add(new DERInteger(getModulus()));
        v.add(new DERInteger(getPublicExponent()));

        return new DERSequence(v);