2011-11-02 12 views
5

ho un pezzo di codice dal sito di PayPal:opzioni PayPal Curl (CURLOPT_SSL_VERIFYPEER e CURLOPT_SSL_VERIFYHOST) emettere

// turning off the server and peer verification(TrustManager Concept). 
// really paypal??? why not just include a recent cert??? 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 

Come si può vedere nel mio commento mi chiedo perché su paypal terra sarebbe disabilitare quelli opzioni.

So (dai precedenti mal di testa :)) che su cURL di Windows utilizza un file di certs obsoleto.

Ma io ho un file più recenti certs sul mio server che ho potuto semplicemente usare:

curl_setopt($ch, CURLOPT_CAINFO, 'E:\path\to\curl-ca-bundle.crt'); 

Quindi, perché PayPal 'raccomandare' disabilitarlo se tutto quello che serve è usare un altro file (più recenti) certs.

Non sarebbe più sicuro?

O mi manca qualcosa (sono abbastanza sicuro che PayPal ha abbastanza soldi per un certificato valido: p)?

+0

"su Windows cURL utilizza un file di certs non aggiornato" è completamente sbagliato. arricciatura non spedisce alcun gruppo di certificati CA cert, quindi la responsabilità di avere uno aggiornato cade sull'utente ... –

+0

@Daniel Stenberg: OK E 'stato un po' che ho dovuto usare cURL su Windows. Bene cURL usato per spedire con un pacchetto di cert fuori datato fino alla 7.18.0 (il 28 gennaio 2008 lo so). :) E tu lo sai ... – PeeHaa

+0

Hai ragione. La mia formulazione era sciatta, come probabilmente avrei detto che diversi anni fa curl _did_ spediva un pacchetto di certificati CA ... Scusa, e grazie per averlo chiarito! –

risposta

6

Sì, sarebbe molto più sicuro assicurarsi che i client utilizzino un gruppo di certificati CA aggiornati. (Il che questa domanda è su, che già hanno un certificato.)

4

Una ragione potrebbe essere che previene il mal di testa di supporto, con gente che correva lo script sul loro $ 1/anno di hosting condiviso scatole, in esecuzione in problemi, ecc
La migliore pratica? No. Ma qualcuno con un po 'più di conoscenza a fianco di ctrl + c ctrl + v sarà in grado di configurarlo correttamente.

modifica: il codice di esempio corrente forza VERIFYPEER e VERIFYHOST. Tienilo a mente se riscontri errori di handshake SSL, poiché potresti dover puntare a una copia del file cert root.