isHandledDomainCertificate method

  1. @override
bool isHandledDomainCertificate(
  1. String domain, {
  2. bool checkSecurityContext = true,
})
override

Returns true if domain certificate is already handled.

Implementation

@override
bool isHandledDomainCertificate(String domain,
    {bool checkSecurityContext = true}) {
  var fullChainFile = fileDomainFullChainPEM(domain);
  var privateKeyFile = fileDomainPrivateKeyPEM(domain);

  if (!_fileExistsWithContent(fullChainFile) ||
      !_fileExistsWithContent(privateKeyFile)) {
    return false;
  }

  var certificateExpired =
      isCertificateExpired(fullChainFile.readAsStringSync());
  if (certificateExpired) {
    return false;
  }

  if (!checkSecurityContext) {
    return true;
  }

  try {
    var fullChainPath = fullChainFile.path;
    var privateKeyPath = privateKeyFile.path;

    var securityContext = SecurityContext();
    securityContext.useCertificateChain(fullChainPath);
    securityContext.usePrivateKey(privateKeyPath);

    return true;
  } catch (_) {
    return false;
  }
}