code: public static function checkCertificateHost($certificate, $hostname, &$cn = null)
      {
          $names = self::getCertificateNames($certificate);
  
          if (empty($names)) {
              return false;
          }
  
          $combinedNames = array_merge($names['san'], array($names['cn']));
          $hostname = strtolower($hostname);
  
          foreach ($combinedNames as $certName) {
              $matcher = self::certNameMatcher($certName);
  
              if ($matcher && $matcher($hostname)) {
                  $cn = $names['cn'];
  
                  return true;
              }
          }
  
          return false;
      }
docs: Match hostname against a certificate.
  
  @param mixed  $certificate X.509 certificate
  @param string $hostname    Hostname in the URL
  @param string $cn          Set to the common name of the certificate iff match found
  
  @return bool