Ho sviluppato un sito localmente che autentica contro un collegamento centrailzato. Uno dei passaggi richiede di eseguire una richiesta di ricciolo a una risorsa https per ottenere un token di accesso.Come abilitare il supporto CURLOPT_SSL_VERIFYHOST = 2 sul mio sistema operativo/PHP
parte della configurazione del riccio è:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
Come potete vedere ho commentato l'opzione CURLOPT_SSL_VERIFYHOST. Ho letto su php.net e su vari blog/stackoverflow (Security consequences of disabling CURLOPT_SSL_VERIFYHOST (libcurl/openssl)) post CHE COSA significano queste opzioni.
Sulla mia macchina di sviluppo CURLOPT_SSL_VERIFYHOST 2
ha funzionato bene. Sto solo usando l'installazione vanilla php fornita nel pacchetto php5 di ubuntu 12.04 e php5-curl.
In produzione (cloudites di rackspace) il CURLOPT_SSL_VERIFYHOST 2
non funziona, motivo per cui l'ho modificato in falso per verificare che questo fosse il problema. Visto che non ho fatto nulla esplicitamente per abilitare questo sul mio localhost, non so quali direttive/opzioni di configurazione lo controllino.
Quello che voglio dire è "non funziona" è che sulla produzione la chiamata ricciolo restituisce un http_code
del 0
quando il VERIFYHOST
è impostato su 2
. Quando ho impostato a FALSE
esso restituisce un codice di stato di 200
La mia domanda è:
Come posso permettere SSL_VERIFYHOST
su una macchina Linux?
Qualsiasi aiuto sarebbe molto apprezzato. Grazie.
del ricciolo è '2' per questa impostazione: http://php.net/manual/en/function.curl-setopt.php –