EricMakesStuff\ServerMonitor\Monitors\SSLCertificateMonitor::hostCoveredByCertificate PHP Method

hostCoveredByCertificate() public method

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);
    }

Usage Example

 /** @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()));
 }
All Usage Examples Of EricMakesStuff\ServerMonitor\Monitors\SSLCertificateMonitor::hostCoveredByCertificate