Requests_Transport_fsockopen::verify_certificate_from_context( string $host, resource $context )

Verify the certificate against common name and subject alternative names


Description

Unfortunately, PHP doesn’t check the certificate against the alternative names, leading things like ‘https://www.github.com/‘ to be invalid. Instead

See also


Parameters

$host

(string) (Required) Host name to verify against

$context

(resource) (Required) Stream context


Return

(bool)


Source

File: wp-includes/Requests/Transport/fsockopen.php

	public function verify_certificate_from_context($host, $context) {
		$meta = stream_context_get_options($context);

		// If we don't have SSL options, then we couldn't make the connection at
		// all
		if (empty($meta) || empty($meta['ssl']) || empty($meta['ssl']['peer_certificate'])) {
			throw new Requests_Exception(rtrim($this->connect_error), 'ssl.connect_error');
		}

		$cert = openssl_x509_parse($meta['ssl']['peer_certificate']);

		return Requests_SSL::verify_certificate($host, $cert);
	}