improve invalid domain validation

This commit is contained in:
Matej Bačo
2025-09-12 16:51:28 +02:00
parent 613065b074
commit 72e936a004
2 changed files with 8 additions and 8 deletions
@@ -27,6 +27,14 @@ class Action extends PlatformAction
{
$domain = new Domain($rule->getAttribute('domain', ''));
if (empty($domain->get())) {
throw new Exception(Exception::RULE_VERIFICATION_FAILED, 'DNS verification failed because domain is not valid.');
}
if (!$domain->isKnown() || $domain->isTest()) {
throw new Exception(Exception::RULE_VERIFICATION_FAILED, 'DNS verification failed because domain ' . $domain->get() . ' is not known public suffix.');
}
// Ensure CAA won't block certificate issuance
if (!empty(System::getEnv('_APP_DOMAIN_TARGET_CAA', ''))) {
$validationStart = \microtime(true);
@@ -282,14 +282,6 @@ class Certificates extends Action
$mainDomain = $this->getMainDomain();
$isMainDomain = isset($mainDomain) && $domain->get() === $mainDomain;
if (empty($domain->get())) {
throw new Exception('Missing certificate domain.');
}
if (!$domain->isKnown() || $domain->isTest()) {
throw new Exception('Unknown public suffix for domain.');
}
// TODO: @christyjacob remove once we migrate the rules in 1.7.x
if (System::getEnv('_APP_RULES_FORMAT') === 'md5') {
$rule = ValidatorAuthorization::skip(fn () => $dbForPlatform->getDocument('rules', md5($domain->get())));