Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.bouncycastle.asn1.eac;
  
  
an Iso7816RSAPublicKeyStructure structure.
  Certificate Holder Authorization ::= SEQUENCE {
      // modulus should be at least 1024bit and a multiple of 512.
      DERTaggedObject        modulus,
      // access rights    exponent
      DERTaggedObject    accessRights,
  }
 
 
 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;
 
     {
         Enumeration en = seq.getObjects();
 
         this. = 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 ( != 0x3)
         {
             throw new IllegalArgumentException("missing argument -> not an Iso7816RSAPublicKeyStructure");
         }
     }
 
     public RSAPublicKey(ASN1ObjectIdentifier usageBigInteger modulusBigInteger exponent)
     {
         this. = usage;
         this. = modulus;
         this. = exponent;
     }
 
     public ASN1ObjectIdentifier getUsage()
     {
         return ;
     }
 
     public BigInteger getModulus()
     {
         return ;
     }
 
     public BigInteger getPublicExponent()
     {
         return ;
     }
 
     private void setModulus(UnsignedInteger modulus)
     {
         if (( & ) == 0)
         {
              |= ;
             this. = modulus.getValue();
         }
         else
         {
             throw new IllegalArgumentException("Modulus already set");
         }
     }
 
     private void setExponent(UnsignedInteger exponent)
     {
         if (( & ) == 0)
        {
             |= ;
            this. = exponent.getValue();
        }
        else
        {
            throw new IllegalArgumentException("Exponent already set");
        }
    }
    {
        ASN1EncodableVector v = new ASN1EncodableVector();
        v.add();
        v.add(new UnsignedInteger(0x01, getModulus()));
        v.add(new UnsignedInteger(0x02, getPublicExponent()));
        return new DERSequence(v);
    }
New to GrepCode? Check out our FAQ X