downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

stream_socket_get_name> <stream_socket_client
[edit] Last updated: Sat, 18 May 2013

view this page in

stream_socket_enable_crypto

(PHP 5 >= 5.1.0)

stream_socket_enable_cryptoBağlı bir soket üzerinde şifrelemeyi açıp kapatır

Açıklama

mixed stream_socket_enable_crypto ( resource $akım , bool $etkin [, int $şifre_türü [, resource $oturum_akımı ]] )

Akım üzerinde şifreleme yapılıp yapılmayacağını belirler.

Şifreleme ile ilgili ayarlar bir kere etkin olunca, etkin değiştirgesine TRUE veya FALSE belirterek devingen olarak şifrelemenin yapılıp yapılmayacağını belirleyebilirsiniz.

Değiştirgeler

akım

Akım özkaynağı.

etkin

TRUE belirtilirse akım üzerinde şifreleme yapılır, FALSE belirtilirse yapılmaz.

şifre_türü

Akım üzerinde etkin kılınacak şifreleme yöntemini belirler. Geçerli yöntemler:

  • 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

oturum_akımı

oturum_akımı akımındaki ayarlarla akımı tohumlar.

Dönen Değerler

Başarı durumunda TRUE, uzlaşılamazsa FALSE, yeterli veri yoksa ve tekrar denemeniz gerekiyorsa 0 döner (sadece engellenmeyen soketlerde).

Örnekler

Örnek 1 - stream_socket_enable_crypto() örneği

<?php
$fp 
stream_socket_client("tcp://myproto.example.com:31337"$errno$errstr30);
if (!
$fp) {
    die(
"Bağlantı kurulamadı: $errstr ($errno)");
}

/* Oturum açma aşaması için şifrelemeyi etkin kılalım */
stream_socket_enable_crypto($fptrueSTREAM_CRYPTO_METHOD_SSLv23_CLIENT);
fwrite($fp"USER god\r\n");
fwrite($fp"PASS secret\r\n");

/* Artık şifrelemeye ihtiyaç kalmadı */
stream_socket_enable_crypto($fpfalse);

while (
$motd fgets($fp)) {
    echo 
$motd;
}

fclose($fp);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:



add a note add a note User Contributed Notes stream_socket_enable_crypto - [2 notes]
up
0
mark at kinoko dot fr
5 years ago
Just to avoid letting you search everywhere why your code doesn't work when using this function to enable crypto as a server, and when using TLS, you have to put the certificate in the "ssl" context, even if you start a TLS, SSLv3, etc.. server.

I had some troubles because of that...
up
0
tigger (AT) tiggerswelt d0t net
5 years ago
As already mentioned above:

stream_socket_enable_crypto is likely to fail/return zero if the socket is in non-blocking mode.

You may either wait some seconds until all neccessary data has arrived or switch temporary to blocking mode:

<?PHP

  stream_set_blocking
($fd, true);
 
stream_socket_enable_crypto ($fd, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
 
stream_set_blocking ($fd, false);

?>

This works very fine for me ;-)

 
show source | credits | sitemap | contact | advertising | mirror sites