2011-11-02 6 views
5

Mam kawałek kodu z serwisu PayPal:opcje PayPal cURL (CURLOPT_SSL_VERIFYPEER i CURLOPT_SSL_VERIFYHOST) wydaje

// 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); 

Jak widać w moim komentarzu Zastanawiam się dlaczego na ziemi paypal by wyłączyć te opcje.

Wiem (z poprzednich bólów głowy :)), że w systemie Windows cURL używa nieaktualnego pliku certyfikatów.

Ale muszę złożyć nowszej certs na moim serwerze, który może po prostu użyć:

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

Więc dlaczego PayPal „polecić” wyłączenie go, jeśli wszystko czego potrzeba, to użyć innego pliku (nowsze) certs.

Czy nie byłoby to bezpieczniejsze?

A może czegoś brakuje (jestem pewien, że firma PayPal ma wystarczającą ilość pieniędzy na ważny certyfikat: p)?

+0

"w systemie Windows cURL używa nieaktualnego pliku certyfikatu" jest błędne. curl nie wysyła w ogóle żadnego pakietu certyfikatów CA, więc odpowiedzialność za aktualizację spada na użytkownika ... –

+0

@ Daniel Stenberg: OK Minęło trochę czasu, odkąd musiałem użyć cURL na Windowsie. CURL był wysyłany z nieaktualnym pakietem certyfikatów do 7.18.0 (28 stycznia 2008 r. Wiem). :) A ty to wiesz ... – PeeHaa

+0

Masz rację. Moje sformułowanie było niechlujne, ponieważ powinienem był wspomnieć, że kilka lat temu zawinął _did_ wysyła pakiet certyfikatów CA ... Przepraszam, i dzięki za wyjaśnienie tego! –

Odpowiedz

6

Tak, bezpieczniej byłoby upewnić się, że klienci używają zaktualizowanego pakietu certyfikatów urzędu certyfikacji. (O co chodzi w tym pytaniu, mają już certyfikat.)

4

Jednym z powodów może być to, że zapobiega problemom związanym z pomocą techniczną, osobom wykonującym skrypt na współdzielonych skrzynkach hostingowych z pulą $ 1/rok, pojawia się problem, itp.
Najlepsze praktyki? Nie. Ale ktoś, kto ma nieco więcej wiedzy niż ctrl + c ctrl + v, będzie mógł go poprawnie skonfigurować.

edycja: nasz obecny przykładowy kod wymusza VERIFYPEER i VERIFYHOST. Miej to na uwadze, jeśli napotkasz jakiekolwiek błędy uzgadniania SSL, ponieważ może to wymagać wskazania kopii pliku głównego certyfikatu.