public hostCoveredByCertificate ( $host, $certificateHost, array $certificateAdditionalDomains = [] ) | ||
$certificateAdditionalDomains | array |
public function hostCoveredByCertificate($host, $certificateHost, array $certificateAdditionalDomains = [])
{
if ($host == $certificateHost) {
return true;
}
// Determine if wildcard domain covers the host domain
if ($certificateHost[0] == '*' && substr_count($host, '.') > 1) {
$certificateHost = substr($certificateHost, 1);
$host = substr($host, strpos($host, '.'));
return $certificateHost == $host;
}
// Determine if the host domain is in the certificate's additional domains
return in_array($host, $certificateAdditionalDomains);
}
/** @test */ public function it_can_verify_a_wildcard_domain() { $sslCertificateMonitor = new SSLCertificateMonitor(['url' => 'https://lumen.laravel.com/']); $sslCertificateMonitor->runMonitor(); $this->assertEquals('*.laravel.com', $sslCertificateMonitor->getCertificateDomain()); $this->assertTrue($sslCertificateMonitor->hostCoveredByCertificate('lumen.laravel.com', $sslCertificateMonitor->getCertificateDomain())); }