stream_socket_client
<<<
stream_socket_enable_crypto stream_socket_get_name
>>>

8.118 Flux
8 Référence des fonctions
 Manuel PHP

Introduction
Filtres de flux
Contextes de flux
Installation
Classes Stream
Constantes pré-définies
Erreurs de flux
Exemples
stream_context_create
stream_context_get_default
stream_context_get_options
stream_context_set_option
stream_context_set_params
stream_copy_to_stream
stream_filter_append
stream_filter_prepend
stream_filter_register
stream_filter_remove
stream_get_contents
stream_get_filters
stream_get_line
stream_get_meta_data
stream_get_transports
stream_get_wrappers
stream_register_wrapper
stream_select
stream_set_blocking
stream_set_timeout
stream_set_write_buffer
stream_socket_accept
stream_socket_client
->stream_socket_enable_crypto
stream_socket_get_name
stream_socket_pair
stream_socket_recvfrom
stream_socket_sendto
stream_socket_server
stream_wrapper_register
stream_wrapper_restore
stream_wrapper_unregister

8.118.32 stream_socket_enable_crypto() Active ou non le cryptage sur un socket déjà connecté

[ Exemples avec stream_socket_enable_crypto ]   CVS uniquement

mixed  stream_socket_enable_crypto ( resource   stream , bool   enable , int   crypto_type , resource   session_stream )

Lorsqu'appelé avec le paramètre crypto_type , stream_socket_enable_crypto active le cryptage sur le flux stream en utilisant la méthode spécifiée.

Valeurs possibles pour le paramètre crypto_type

  • STREAM_CRYPTO_METHOD_SSLv2_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv3_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv23_CLIENT
  • STREAM_CRYPTO_METHOD_TLS_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv2_SERVER
  • STREAM_CRYPTO_METHOD_SSLv3_SERVER
  • STREAM_CRYPTO_METHOD_SSLv23_SERVER
  • STREAM_CRYPTO_METHOD_TLS_SERVER

Une fois les paramètres de cryptage définis, le crytage peut être activé et désactivé dynamiquement en passant TRUE ou FALSE dans le paramètre enable .

Si ce flux doit être défini avec les paramètres d'un flux actif crypté, passez la ressource de ce flux au paramètre session_stream .

Retourne TRUE en cas de succès, FALSE si la négociation a échoué ou 0 s'il n'y a pas assez de données et que vous devez essayer encore (uniquement pour les sockets non-bloquantes).

Exemple avec stream_socket_enable_crypto

<?php
$fp
= stream_socket_client("tcp://monproto.example.com:31337", $errno, $errstr, 30);
if (!
$fp) {
  die(
"Impossible de se connecter : $errstr ($errno)");
}

/* Activation du cryptage durant l'identification */
stream_socket_enable_crypto($fp, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT);
fwrite($fp, "USER Linus\r\n");
fwrite($fp, "PASS secret\r\n");

/* Désactivation du cryptage pour le reste */
stream_socket_enable_crypto($fp, false);

while (
$motd = fgets($fp)) {
  echo
$motd;
}
fclose($fp);
?>

OpenSSL et Liste des modes de transports de sockets disponibles .

<< stream_socket_enable_crypto >>
stream_socket_client Flux stream_socket_get_name