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);
����Z�:���~�;�ȕ�i�Y����P�k:y��8�e��#˅�P�1hхb*mM��~5z���.��3j��>|+�q�.�����V%�$B>��
a>ﺏ�����O����;oa�8*L�P�0Dp�Cr@|�1MN�xA�ʡ4(�-{N�GW���ߢG͕@lR��感���w��c*���NC�[a-p_��ޘ�\ʣp1p�p��1@��$?~O����}h�ڜ��iWLL
nMq?kUoS*��S�Sm`��f5yE�[�%e�̎k�j�RLŰ����<�c��m�vK�9 ��^��*1�?i��[��V�!7f�F�[U�9z�
��m5�B�ُhzω����.��%��M�nO�zT��ɡx_N�KU����\��[|
�-%+��S��� ��$f�GH�hr<2,�
��ڱի� )R��>�]�MC@���KDZ?��1��r�,��� ���`�s��;�0�b��}�&9#���q��C�#`��T�w��t�+�<tQ �x��w�!�h��j]�a��M���gjH�ԶS&��]��w��
[��/[VX�l�"q%���?��ֽ��&�"�+����у��kaXt����
Ow���@�p�S�y��+]�4�B>#f �%7����s$�*z�|��nj��C����X#*��'e�k߳�.@��fjeZ�OT=/��I�
b�2W��.��M��.��Ř;�q��y��4��5#�f,�o��o�7�_�à ��!<yRPhY��\� �*�#AoEh��'X��D�H_�P��l����m��=�r$+�8H�>)�Q���fm7��cy���?b2�&���.�:t�k\Z�J��,�R�Fx��J{�T�e��'�YX�R��C��s�����K�/�=�-�-�m&+�]kmz���d���\��9�" �
<.W"|�\O��с�$��a���S�t��7��Wd�4(%�}��+Ω�JU҂�PḈ�Ю������tih�e/3�~B<��'dG�)(���Ͻ!%1��fkB���9/T�,.3����vR��9s��
�7i�_U���m��3��Ko~h&�+����Q��S�t6�ۊ�W��U�ŝz�>b�پ�U�1�PG���*��O�`po��C��e��]~:�9�j $e>��B��Ւ!�UH�y����K�nM�7Cb� ��ts&�"C�b9����
*�$��`�?5哚;!X�����0>+�A�7Xa0'ϫM[��Uc@�y��b�1J16y��3���l6��3s��ܡ��|������al��T��Sv������(��z�wݴ Ŕ��q��ۇ_lr�Q-
�
���Ӎc�7C[�Xz����Qu�v���Ɨ��.��)M>a^(% �.:E,B��r�y�2(K�