decode static method

CryptoRSAPrivateKey decode(
  1. String encodedKey
)

Implementation

static CryptoRSAPrivateKey decode(String encodedKey) {
  ASN1Parser topLevelParser = ASN1Parser(base64.decode(encodedKey));
  ASN1Sequence topLevelSeq = topLevelParser.nextObject() as ASN1Sequence;

  ASN1OctetString privateKeyOctet =
      topLevelSeq.elements![2] as ASN1OctetString;

  ASN1Sequence publicKeySeq =
      ASN1Sequence.fromBytes(privateKeyOctet.octets as Uint8List);
  ASN1Integer modulus = publicKeySeq.elements![1] as ASN1Integer;
  ASN1Integer privateExponent = publicKeySeq.elements![3] as ASN1Integer;
  ASN1Integer prime1 = publicKeySeq.elements![4] as ASN1Integer;
  ASN1Integer prime2 = publicKeySeq.elements![5] as ASN1Integer;

  return CryptoRSAPrivateKey(modulus.integer!, privateExponent.integer!,
      prime1.integer, prime2.integer);
}