Description
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 1. 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); ?>
|
|
Référence CVIII, OpenSSL et
Annexe O.