stream_socket_enable_crypto
(PHP 5 >= 5.1.0, PHP 7)
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_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
Si omis, l'option de contexte
crypto_method
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
.
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 |
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.
|
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 à :
Version en cache
23/12/2024 04:22:27 Cette version de la page est en cache (à la date du 23/12/2024 04:22:27) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-stream-socket-enable-crypto.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.