x509CertificateFromPem static method

X509CertificateData x509CertificateFromPem(
  1. String pem
)

Parses the given PEM to a X509CertificateData object.

Throws an ASN1Exception if the pem could not be read by the ASN1Parser.

Implementation

static X509CertificateData x509CertificateFromPem(String pem) {
  var bytes = CryptoUtils.getBytesFromPEMString(pem);
  var asn1Parser = ASN1Parser(bytes);
  var topLevelSeq = asn1Parser.nextObject() as ASN1Sequence;

  var x509 = _x509FromAsn1Sequence(topLevelSeq);

  var sha1String = CryptoUtils.getHash(bytes, algorithmName: 'SHA-1');
  var md5String = CryptoUtils.getHash(bytes, algorithmName: 'MD5');
  var sha256String = CryptoUtils.getHash(bytes, algorithmName: 'SHA-256');

  x509.plain = pem;
  x509.sha1Thumbprint = sha1String;
  x509.md5Thumbprint = md5String;
  x509.sha256Thumbprint = sha256String;
  return x509;
}