parse function

RSAAsymmetricKey parse(
  1. String key
)

Implementation

RSAAsymmetricKey parse(String key) {
  final rows = key.split('\n'); // LF-only, this could be a problem
  final header = rows.first;
  if (header == '-----BEGIN RSA PUBLIC KEY-----') {
    return _parsePublic(_parseSequence(rows));
  }

  if (header == '-----BEGIN PUBLIC KEY-----') {
    return _parsePublic(_pkcs8PublicSequence(_parseSequence(rows)));
  }

  if (header == '-----BEGIN RSA PRIVATE KEY-----') {
    return _parsePrivate(_parseSequence(rows));
  }

  if (header == '-----BEGIN PRIVATE KEY-----') {
    return _parsePrivate(_pkcs8PrivateSequence(_parseSequence(rows)));
  }
  // NOTE: Should we throw an exception?
  return null!;
}