src/Connection/StreamConnection.php
protected function tlsStreamInitializer(ParametersInterface $parameters)
    {
        $resource = $this->tcpStreamInitializer($parameters);
        $metadata = stream_get_meta_data($resource);

        // Detect if crypto mode is already enabled for this stream (PHP >= 7.0.0).
        if (isset($metadata['crypto'])) {
            return $resource;
        }

        if (is_array($parameters->ssl)) {
            $options = $parameters->ssl;
        } else {
            $options = array();
        }

        if (!isset($options['crypto_type'])) {
            $options['crypto_type'] = STREAM_CRYPTO_METHOD_TLS_CLIENT;
        }

        if (!stream_context_set_option($resource, array('ssl' => $options))) {
            $this->onConnectionError('Error while setting SSL context options');
        }

        if (!stream_socket_enable_crypto($resource, true, $options['crypto_type'])) {
            $this->onConnectionError('Error while switching to encrypted communication');
        }

        return $resource;
    }
protected function tlsStreamInitializer(ParametersInterface $parameters)
    {
        $resource = $this->tcpStreamInitializer($parameters);
        $metadata = stream_get_meta_data($resource);

        // Detect if crypto mode is already enabled for this stream (PHP >= 7.0.0).
        if (isset($metadata['crypto'])) {
            return $resource;
        }

        if (is_array($parameters->ssl)) {
            $options = $parameters->ssl;
        } else {
            $options = array();
        }

        if (!isset($options['crypto_type'])) {
            $options['crypto_type'] = STREAM_CRYPTO_METHOD_TLS_CLIENT;
        }

        if (!stream_context_set_option($resource, array('ssl' => $options))) {
            $this->onConnectionError('Error while setting SSL context options');
        }

        if (!stream_socket_enable_crypto($resource, true, $options['crypto_type'])) {
            $this->onConnectionError('Error while switching to encrypted communication');
        }

        return $resource;
    }
protected function tlsStreamInitializer ( ParametersInterface $ parameters ) { $ resource = $ this -> tcpStreamInitializer ( $ parameters ) ; $ metadata = stream_get_meta_data ( $ resource ) ; // Detect if crypto mode is already enabled for this stream (PHP >= 7.0.0). if ( isset ( $ metadata [ 'crypto' ] ) ) { return $ resource ; } if ( is_array ( $ parameters -> ssl ) ) { $ options = $ parameters -> ssl ; } else { $ options = array ( ) ; } if ( ! isset ( $ options [ 'crypto_type' ] ) ) { $ options [ 'crypto_type' ] = STREAM_CRYPTO_METHOD_TLS_CLIENT ; } if ( ! stream_context_set_option ( $ resource , array ( 'ssl' => $ options ) ) ) { $ this -> onConnectionError ( 'Error while setting SSL context options' ) ; } if ( ! stream_socket_enable_crypto ( $ resource , true , $ options [ 'crypto_type' ] ) ) { $ this -> onConnectionError ( 'Error while switching to encrypted communication' ) ; } return $ resource ; }
Initializes a SSL-encrypted TCP stream resource.

@param ParametersInterface $parameters Initialization parameters for the connection.

@return resource
Initializes a SSL - encrypted TCP stream resource .