stream_socket_enable_crypto
Description
The stream_socket_enable_crypto of Stream for PHP turns encryption on/off on an already connected socket.
Syntax
stream_socket_enable_crypto(
resource $stream,
bool $enable,
?int $crypto_method = null,
?resource $session_stream = null
): int|boolParameters
stream
The stream resource.
enable
Enable/disable cryptography on the stream.
crypto_type
Setup encryption on the stream.
| STREAM_CRYPTO_METHOD_SSLv2_CLIENT |
| STREAM_CRYPTO_METHOD_SSLv3_CLIENT |
| STREAM_CRYPTO_METHOD_SSLv23_CLIENT |
| STREAM_CRYPTO_METHOD_ANY_CLIENT |
| STREAM_CRYPTO_METHOD_TLS_CLIENT |
| STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT |
| STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT |
| STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT |
| STREAM_CRYPTO_METHOD_SSLv2_SERVER |
| STREAM_CRYPTO_METHOD_SSLv3_SERVER |
| STREAM_CRYPTO_METHOD_SSLv23_SERVER |
| STREAM_CRYPTO_METHOD_ANY_SERVER |
| STREAM_CRYPTO_METHOD_TLS_SERVER |
| STREAM_CRYPTO_METHOD_TLSv1_0_SERVER |
| STREAM_CRYPTO_METHOD_TLSv1_1_SERVER |
| STREAM_CRYPTO_METHOD_TLSv1_2_SERVER |
If omitted, the crypto_method context option on the stream's SSL context will be used instead.
session_stream
Seed the stream with settings from session_stream.
Return
Returns true on success, false if negotiation has failed or 0 if there isn't enough data and you should try again (only for non-blocking sockets).
Examples
1 · crypto_type
<?
$protocol = "tls";
$host = "osbo.com";
$port = "443";
$remote_socket = $protocol . "://" . $host . ":" . $port;
$timeout = 30;
$stream = stream_socket_client($remote_socket, $errno, $errstr, $timeout);
if(!$stream)
{
exit("$errstr ($errno)");
}
// turn on encryption for login
$enable = true;
$crypto_type = STREAM_CRYPTO_METHOD_SSLv23_CLIENT;
stream_socket_enable_crypto($stream, $enable, $crypto_type);
fwrite($stream, "USER user\r\n");
fwrite($stream, "PASS secret\r\n");
// turn off encryption for the rest
$enable = false;
stream_socket_enable_crypto($stream, $enable);
$string = "GET / HTTP/1.1\r\n";
$string .= "Host: $host\r\n";
$string .= "Connection: close\r\n\r\n";
fwrite($stream, $string);
$length = 1024;
while(!feof($stream))
{
echo fgets($stream, $length);
}
fclose($stream);
b�m��.�w�ٯ7���]0���R9�1E$^.i�W$�kd��В�Θ����Y[������\�&�)Ԑ(�m��UY���6ϕ�R��kϧ�Y~��V~l�ϟ>��l5��1����r��Q�i/��l���+�C�̴S�Β�"Uq$�9f�Z�p�y�̲12yOr�x�(��;c%�bf�!C7���Qh�D^�H��3?4�~� ka�H2�l�VR#$�\���&��"�����'���scR,^�� 3`�QKG��;&���8�nB��H�7&�2�s���|S}C�Q|���+��m��Ʀ���.�,zE�˾o��@�kЫ*=�Ţ�\B輑&�9���ϔ� ��l�r=l����5� p'��;��_��֙�$#���_)Z s@�@�C"�MsHswrQ��A�+�p��e6�"v ��z�n\I��я�jj �����-nB�,��Lq�]� X����v� 7�������o�����O�D^N��!�v�AH���xK���c?��`�+z�VXM7���p�R>ng#����+��2��|g� �,��C���\������QMV�~_�L�t����Z$m��;���^��ɆÀ�s��}�x�y�����;5ݖ��S �u|��w�fp��@��U�+��V�%�G�(%vg�zT�<` ��\3Kr�����EN�Uq+�Quo�U�qW�U�hW&k8�d�6:&����)�Z'