示例#1
0
 // Convert RSA public parameters into an ASN.1 buffer.
 internal void PublicToASN1(ASN1Builder builder, bool x509)
 {
     if (x509)
     {
         // Output an X.509 "SubjectPublicKeyInfo" block.
         ASN1Builder alg = builder.AddSequence();
         alg.AddObjectIdentifier(rsaID);
         alg.AddNull();
         ASN1Builder bitString = builder.AddBitStringContents();
         ASN1Builder inner     = bitString.AddSequence();
         inner.AddBigInt(Modulus);
         inner.AddBigInt(Exponent);
     }
     else
     {
         // Output a bare list of RSA parameters.
         builder.AddBigInt(Modulus);
         builder.AddBigInt(Exponent);
     }
 }