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);
4�5�w�����K+���� �W�EН&t�������|_�E�,�Ác�������\�W�w>{��r��_�8p�:A�w2�"�H^���u-P)}I������h4L��9��4�Ie��q�!o�� �L�V�W���2�;�]�3��f�9�a���0)8��.��N��0�a���T����|
xq,܂�}"n7N�f"� T����θ�����������/R�K�L�"� �Xk�V��P���]�t(��z�x�lY���5�q�R��-��)��k��f�fH@o�;+v4�-�m*ڌʀ������>��8]�.�%sS� "����6̿ U�����#�c�0����?c3��K��b�h�uU1���&�vle��x���q���l �'�߰7伧J����ԭ{�\:RW��~SYI$B^��aB�n<�F�2�&�R�+`ȿB>���RYe�#s&e���A%� [t��OG�n6��`�>�P�}�J�l!��&�=���r�M���^�w��A"ƥ
��Ad(
��;k��~�NA8^��$Y�.v�s:�|�+ҀC���d�!A{-���M��YX�W�/����]��g�\ýJ5F�y#/����F���nĜQh{O�ϯW��&Uś!����*�cB��]#�`X��U�ȑ�Y�6�x&Y` 5�$?�G�E>��0ء���`7ϝ�؆����hHl��v���~�0O�;�{RL-�5�J�`�B����ڙ.��c+bd���ӪTLH���!(^���b���rg�-)�/n%9�bE��O�@��mof<�(��1���IԨ("��[�U�R�����#��~C���3�����(@h�} ����u�5V�z�"�<�/"B�*@� _��Ǫ�-+z�kN�11iE|���ov�r���
�9��X?��y6�٫�N�)��#�5i�d!=k��HW]�����D����,�ȣo��_�������q�g^F�� X���Ir�ꎥn�ȨdD�(=&RV��ws��ɥ�AܜU�l����fta�D�)�� ^��*=��u��b���?4Gz��D�:��j�|�7=��Å7a� B"k�y^�Q_X�P�
�G���n�{��t�2��z\��!r��L,?4���P�&x�/u-=�j<��(Q���κ�~Z��j�k�G��{:�²���r�$^]��&[�"1�9U�A3���h2����r���Ԯ^�[2�0>�gM���HM����%��yZ�$ҕ
��~�3�x��K�_��E�$̢q;43dkj����ۢ��z0�fK�h�����Mv�6�V\7).�g3���}��5����7�-βs黦�l���q���Z�.�^�^��z:�l�^��ӈ?�Y�Gi��ߜp#
X �9%� r�ބ�`��0��[