(PHP 5 >= 5.1.0, PHP 7)
stream_socket_enable_crypto — Active ou non le chiffrement, pour un socket déjà connecté
$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.
  
streamLa ressource de flux.
enableActive ou non le chiffrement sur le flux.
crypto_typeConfigure 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_ANY_CLIENTSTREAM_CRYPTO_METHOD_TLS_CLIENTSTREAM_CRYPTO_METHOD_TLSv1_0_CLIENTSTREAM_CRYPTO_METHOD_TLSv1_1_CLIENTSTREAM_CRYPTO_METHOD_TLSv1_2_CLIENTSTREAM_CRYPTO_METHOD_SSLv2_SERVERSTREAM_CRYPTO_METHOD_SSLv3_SERVERSTREAM_CRYPTO_METHOD_SSLv23_SERVERSTREAM_CRYPTO_METHOD_ANY_SERVERSTREAM_CRYPTO_METHOD_TLS_SERVERSTREAM_CRYPTO_METHOD_TLSv1_0_SERVERSTREAM_CRYPTO_METHOD_TLSv1_1_SERVERSTREAM_CRYPTO_METHOD_TLSv1_2_SERVER
       Si omis, l'option de contexte crypto_type
       sur le contexte SSL du flux sera utilisée à la place.
      
session_stream
       Initialise le flux avec la configuration issue du 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-bloquants).
  
| Version | Description | 
|---|---|
| 5.6.0 | 
        Ajout des constantes STREAM_CRYPTO_METHOD_ANY_CLIENT,
        STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT,
        STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT,
        STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT,
        STREAM_CRYPTO_METHOD_ANY_SERVER,
        STREAM_CRYPTO_METHOD_TLSv1_0_SERVER,
        STREAM_CRYPTO_METHOD_TLSv1_1_SERVER,
        STREAM_CRYPTO_METHOD_TLSv1_2_SERVER.
        | 
      
| 5.6.0 | 
        Le paramètre crypto_type est maintenant
        optionnel.
        | 
      
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 à :