checkCertificate method

Future<CheckCertificateStatus> checkCertificate(
  1. String domain,
  2. String email, {
  3. bool requestCertificate = false,
  4. bool forceRequestCertificate = false,
  5. int maxRetries = 3,
  6. Duration? retryInterval,
})

Checks the domain certificate.

Implementation

Future<CheckCertificateStatus> checkCertificate(String domain, String email,
    {bool requestCertificate = false,
    bool forceRequestCertificate = false,
    int maxRetries = 3,
    Duration? retryInterval}) async {
  var domainHttpsOK = await isDomainHttpsOK(domain,
      maxRetries: maxRetries, retryInterval: retryInterval);

  if (domainHttpsOK && !forceRequestCertificate) {
    return CheckCertificateStatus.ok;
  }

  if (!requestCertificate) {
    return CheckCertificateStatus.invalid;
  }

  try {
    var ok = await this.requestCertificate(domain, email);
    return ok
        ? CheckCertificateStatus.okRefreshed
        : CheckCertificateStatus.error;
  } catch (e, s) {
    _logError(e, s);
    return CheckCertificateStatus.error;
  }
}