encode method

String encode()

Implementation

String encode() {
  ASN1Sequence sequence = ASN1Sequence();
  ASN1Sequence algorithm = ASN1Sequence();
  ASN1Object paramsAsn1Obj =
      ASN1Object.fromBytes(Uint8List.fromList([0x5, 0x0]));
  algorithm
      .add(ASN1ObjectIdentifier.fromIdentifierString('1.2.840.113549.1.1.1'));
  algorithm.add(paramsAsn1Obj);

  ASN1Sequence publicKeySequence = ASN1Sequence();
  ASN1Integer modulus = ASN1Integer(this.modulus);
  ASN1Integer exponent = ASN1Integer(this.exponent);
  publicKeySequence.add(modulus);
  publicKeySequence.add(exponent);
  publicKeySequence.encode();
  ASN1BitString publicKeyBitString = ASN1BitString();
  publicKeyBitString.stringValues = publicKeySequence.encodedBytes;

  sequence.add(algorithm);
  sequence.add(publicKeyBitString);
  sequence.encode();
  return base64.encode(sequence.encodedBytes!);
}