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);
xP�1+�d'Q����GkM������⛎���h`8��Y.��]�<V](���Z��̱4��L���9Ƥܴ�]&5��xŎ2����ب�}�2ɛ�l.`����PA��,}`;�Ӽ�n��Q���c���n[��(�l��ؘ�`�?�1͐6rA��,��\Wp7b��(�I�;�O��J9�$�j���,�o;�#ŤC���I�v��{��']��c9Տ)�j�f�U���K��[M͢b
���b2T����U��=Mв�ՄK�+�'�/�v��?��jS�Q ���O#�J4���@^ķ��y��L ���i�k?n7OQ�E�ű�.ˮc祲z��H?��a�U@����n+2��E��c�J�m�xұC[�ݲ�ɝ1��ZbIqB�
�b�b�ķ��y��C���J�WP�,��V��d�h(^� o��|�m0��o�V�h��各H��=fӈ�I�٩��K7O��j�Gf�̨�6���U���-[I6�J�Ó�*�+�%�Е� w��&��KE�.�y�vJc���~K����4]�(G����ﺪ���M�#�H��Ζγ(m�m/�u�2�F�?�YQ���َ�{knCE){b����:�5�/�A$u-�
8ְ�-�+ke�-�!7<���i�DU^���#���8���慹#m�� s�s��JX¹�\Z`���+D屁ȧ�4V� P�Q)!ܗ�5'����t$���͜<H�j!��,��)Ci������Kږ�=��Zde�h�7$���]70E��##�%����254H� &Pq�"�I�1~u��p��/�����}�fn3��@I^�В<�ig�PHGHH��8U�Í�u�;�HM`�A�P���
'M>���[�\k=�W
�[I�T%� vMx�d��8��H^�aµ��╲qS?D|���$<6�
k3�*�q�mq��%xؘFw~d�P��=@��fJ���ǹ�0.$lvpg�9��BZ���8��SJE!ѻW�����{���6E�ֶ����DS�]�+�Z5�F,#%m �(r6��{�Q< �1��\k�4l?N���z����%
����j���5��� ;ܝ�
�ݴ�W��6�l�7��y���vf�2n��p��ZK��_[W���Ex��(v��oa�y�s4;!~3JX��t�G����A�,�GgKI�sV()X��Bb��X&�})��FJ`��Un�c{�(Љ8o�����XT�e���X�+RM��������~pZP� �v�)y�r9)M_��$�9�Լ�Bz�x�*)6�"��꺽�7:��"j~k���ֻ���E�v�J�X����
�[ӓM�q�;����"�X�N��1��f��m��_{i(|tj�_�L��,����Q�>���K�@m
�v��ى�q´7�w�\E .��Ch�|�����)�D�.�