Server Name Indication constants
Certificate Verification
OpenSSL
PHP Manual

# Key/Certificate parameters

Quite a few of the openssl functions require a key or a certificate parameter. PHP 4.0.5 and earlier have to use a key or certificate resource returned by one of the openssl_get_xxx() functions. Later versions may use one of the following methods:

- Certificates

  1. An X.509 resource returned from openssl_x509_read()
  2. A string having the format file://path/to/cert.pem; the named file must contain a PEM encoded certificate
  3. A string containing the content of a certificate, PEM encoded

- Public/Private Keys

  1. A key resource returned from openssl_get_publickey() or openssl_get_privatekey()
  2. For public keys only: an X.509 resource
  3. A string having the format file://path/to/file.pem - the named file must contain a PEM encoded certificate/private key (it may contain both)
  4. A string containing the content of a certificate/key, PEM encoded
  5. For private keys, you may also use the syntax array($key, $passphrase) where $key represents a key specified using the file:// or textual content notation above, and $passphrase represents a string containing the passphrase for that private key

Server Name Indication constants
Certificate Verification
OpenSSL
PHP Manual