parse method
Parses the PEM key no matter it is public or private, it will figure it out.
Implementation
RSAAsymmetricKey parse(String key) {
final rows = key.split(RegExp(r'\r\n?|\n'));
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)));
}
throw FormatException('Unable to parse key, invalid format.', header);
}