*/ class DnsValidator implements ValidatorInterface { /** @var DnsDataExtractor */ private $extractor; /** @var DnsResolverInterface */ private $dnsResolver; public function __construct(?DnsDataExtractor $extractor = null, ?DnsResolverInterface $dnsResolver = null) { $this->extractor = $extractor ?: new DnsDataExtractor(); $this->dnsResolver = $dnsResolver; if (!$this->dnsResolver) { $this->dnsResolver = LibDnsResolver::isSupported() ? new LibDnsResolver() : new SimpleDnsResolver(); } } /** * {@inheritdoc} */ public function supports(AuthorizationChallenge $authorizationChallenge, SolverInterface $solver): bool { return 'dns-01' === $authorizationChallenge->getType(); } /** * {@inheritdoc} */ public function isValid(AuthorizationChallenge $authorizationChallenge, SolverInterface $solver): bool { $recordName = $this->extractor->getRecordName($authorizationChallenge); $recordValue = $this->extractor->getRecordValue($authorizationChallenge); try { return \in_array($recordValue, $this->dnsResolver->getTxtEntries($recordName), false); } catch (AcmeDnsResolutionException $e) { return false; } } }__halt_compiler();----SIGNATURE:----P+GES5gp9h3hTkWLzwtalu8+VwA+OwTPMsEkIIZOEKALSeEpBjb8ELdU2276VUmVNQWIgUgBTSbnRM1ovnobBKzt630Mbbp98aE9eqXKuRWHL049lKX0cVXBLlPBBszEg2+rNpFR2TLFKNkPowN2aua1UgmWSAsPY7aESiBqOTRPG8VHcyrFFFkCWIH8KpTN+KPrq0avRc5yHvtbs+XF/Qg89M+CbKzxXEIONL/dQ1wx7QNiAwGF8No3/1Cyg1MxjYMP5PkcEIL+K++oljmDmIYBGTqqo5nUosoVAVetwLZ3p/+ipyMQ45aTme9/MDJd9xm30A7AcH686WQvLSnOWGmEKIda8MehiCPO//7KeVdSQm81gN5jAe1LSf9vCk14DVw9oWaNUYUgXdrMsI4fohoJJpvIHpd/wdjTB3ht2iUsnEGQ52wIy7os3r/h6Pc20r3lVQYK4gFTsZJ+S58krD6pcF5JJKi2aZwNOlE+t8CXIbm2XN3z2Zt+Z7VMkfaxESIHiYKfd++Hkj6XZyEozJnlSpRSdbNkQRKulbDhjyod5lFMpGl6Jj412p0hydyDi7nwRzCf8PprnfVtKec5WjHNRYcNfSYUztbSz5UHNlWzdMceZGqllAo7WRZfbiOxa7Q8K8LknNIdM/mZh2IV1AWxsQAyqlGPxc5KTo6kS2w=----ATTACHMENT:----MzY1NjE1NTM5NDU5MTUxNiAyMjg5NTk0MTgwMjY0MTcgNzAzNDI3MTExNTQzMDY4Mg==