getModulusFromRSAX509Pem static method
Returns the modulus of the given pem
that represents an RSA X509 certificate.
This equals the following openssl command:
openssl x509 -noout -modulus -in FILE.cer
Implementation
static BigInt getModulusFromRSAX509Pem(String pem) {
var data = x509CertificateFromPem(pem);
var bytesString = data.tbsCertificate!.subjectPublicKeyInfo.bytes;
var bytes = _stringAsBytes(bytesString!);
var parser = ASN1Parser(bytes);
var next = parser.nextObject() as ASN1Sequence;
var valueBytes = next.elements!.elementAt(1).valueBytes;
if (valueBytes!.elementAt(0) == 0) {
valueBytes = valueBytes.sublist(1);
}
var bitStringParser = ASN1Parser(valueBytes);
next = bitStringParser.nextObject() as ASN1Sequence;
var integer = next.elements!.elementAt(0) as ASN1Integer;
return integer.integer!;
}