stream_socket_enable_crypto
(PHP 5 >= 5.1.0)
stream_socket_enable_crypto — Active ou non le chiffrement, pour un socket déjà connecté
Description
$stream
, bool $enable
[, int $crypto_type
[, resource $session_stream
]] )Active ou non le chiffrement, pour un socket déjà connecté.
Une fois les paramètres de chiffrement définis, le chiffrement peut être activé
et désactivé dynamiquement en passant TRUE ou FALSE
dans le paramètre enable.
Liste de paramètres
-
stream -
La ressource de flux.
-
enable -
Active ou non le chiffrement sur le flux.
-
crypto_type -
Configure le chiffrement sur le flux. Les méthodes valides sont
STREAM_CRYPTO_METHOD_SSLv2_CLIENTSTREAM_CRYPTO_METHOD_SSLv3_CLIENTSTREAM_CRYPTO_METHOD_SSLv23_CLIENTSTREAM_CRYPTO_METHOD_TLS_CLIENTSTREAM_CRYPTO_METHOD_SSLv2_SERVERSTREAM_CRYPTO_METHOD_SSLv3_SERVERSTREAM_CRYPTO_METHOD_SSLv23_SERVERSTREAM_CRYPTO_METHOD_TLS_SERVER
Si omis, l'option de contexte
crypto_typesur le contexte SSL du flux sera utilisée à la place. -
session_stream -
Initialise le flux avec la configuration issue du paramètre
session_stream.
Valeurs de retour
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-bloquants).
Historique
| Version | Description |
|---|---|
| 5.6.0 |
Le paramètre crypto_type est maintenant
optionnel.
|
Exemples
Exemple #1 Exemple avec stream_socket_enable_crypto()
<?php
$fp = stream_socket_client("tcp://myproto.example.com:31337", $errno, $errstr, 30);
if (!$fp) {
die("Impossible de se connecter : $errstr ($errno)");
}
/* Activation du chiffrement durant l'identification */
stream_socket_enable_crypto($fp, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT);
fwrite($fp, "USER god\r\n");
fwrite($fp, "PASS secret\r\n");
/* Désactivation du chiffrement pour le reste */
stream_socket_enable_crypto($fp, false);
while ($motd = fgets($fp)) {
echo $motd;
}
fclose($fp);
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :