removePemHeaderAndFooter method
Implementation
String removePemHeaderAndFooter(String pem) {
var startsWith = [
"-----BEGIN PUBLIC KEY-----",
"-----BEGIN RSA PRIVATE KEY-----",
"-----BEGIN RSA PUBLIC KEY-----",
"-----BEGIN PRIVATE KEY-----",
"-----BEGIN PGP PUBLIC KEY BLOCK-----\r\nVersion: React-Native-OpenPGP.js 0.1\r\nComment: http://openpgpjs.org\r\n\r\n",
"-----BEGIN PGP PRIVATE KEY BLOCK-----\r\nVersion: React-Native-OpenPGP.js 0.1\r\nComment: http://openpgpjs.org\r\n\r\n",
];
var endsWith = [
"-----END PUBLIC KEY-----",
"-----END PRIVATE KEY-----",
"-----END RSA PRIVATE KEY-----",
"-----END RSA PUBLIC KEY-----",
"-----END PGP PUBLIC KEY BLOCK-----",
"-----END PGP PRIVATE KEY BLOCK-----",
];
bool isOpenPgp = pem.indexOf('BEGIN PGP') != -1;
pem = pem.replaceAll(' ', '');
pem = pem.replaceAll('\n', '');
pem = pem.replaceAll('\r', '');
for (var s in startsWith) {
s = s.replaceAll(' ', '');
if (pem.startsWith(s)) {
pem = pem.substring(s.length);
}
}
for (var s in endsWith) {
s = s.replaceAll(' ', '');
if (pem.endsWith(s)) {
pem = pem.substring(0, pem.length - s.length);
}
}
if (isOpenPgp) {
var index = pem.indexOf('\r\n');
pem = pem.substring(0, index);
}
return pem;
}