Sto provando a creare un server socket utilizzando stream_socket_server().Server socket PHP che utilizza ADH. Come?
Le connessioni normali funzionano correttamente, ma desidero creare un server che crittografa la connessione senza un certificato. So che questo può essere ottenuto con il codice ADH, e sì, so che è teoricamente meno sicuro che con un certificato ...
Il motivo per cui sto facendo questo server in primo luogo è quello di prendere in giro un server diverso a cui si connette un client (oltre this protocol, se vi state chiedendo).
Il client è configurato per richiedere prima un certificato e il backup su ADH: l'ho verificato con la realtà e si connette senza problemi, quindi il problema è con il server socket.
Tutto quello che ho provato fino ad ora ha provocato un errore di "handshake failure".
Alcune delle configurazioni che ho provato:
<?php
$server = stream_socket_server(
"tls://127.0.0.1:6667",
$errorno,
$errstr,
STREAM_SERVER_BIND | STREAM_SERVER_LISTEN,
stream_context_create(
array('ssl' => array('ciphers' => 'ADH'))
)
);
?>
<?php
$server = stream_socket_server(
"tls://127.0.0.1:6667",
$errorno,
$errstr,
STREAM_SERVER_BIND | STREAM_SERVER_LISTEN,
stream_context_create(
array('ssl' => array('ciphers' => '-COMPLEMENTOFALL ADH'))
)
);
?>
Ho anche cercato di regolare il client per utilizzare incondizionatamente ADH (come con il secondo esempio sopra), solo per amor di test, ma anche questo non riesce.
Questo succede con tutte le versioni di PHP che ho provato, l'ultima delle quali è la 5.5.0.
Qualche idea?
vedere questo può essere sia di aiuto si http://christophh.net/2012/ 07/24/php-socket-programming/ – krishna
@krishna Questo articolo non menziona nemmeno la crittografia, e dato che la connessione non crittografata funziona bene, non aiuta affatto. –