Jakie działania są konieczne do zapowiedzianych zmian certyfikatów PayPal?


21

Otrzymuję e-maile ostrzegawcze z PayPal, że wprowadzają zmiany w certyfikacie głównym dla połączeń SSL dla natychmiastowych powiadomień o płatności (IPN).

Wprowadzają szereg zmian, w tym zmieniają certyfikaty Verisign G2 (1024-bit) na G5 (2048-bit) i zmieniają skróty z SHA-1 na SHA-256.

Nie jestem pewien, jakie działania są potrzebne, aby zachować zgodność z integracją PayPal.

  1. czy muszę skontaktować się z dostawcą hostingu, aby dowiedzieć się, jakie zmiany mogą być potrzebne w moim środowisku, w tym możliwe wersje PHP i zaufane magazyny certyfikatów?

  2. skoro wydaje się, że integracja z Magento w systemie PayPal jest „wbudowana” (a nie rozszerzenie), czy będą konieczne poprawki, aby zachować zgodność z PayPal?

Dzięki!

Odpowiedzi:


10

Wydaje się, że w związku z wiadomością e-mail wysyłaną przez PayPal jest dość zamieszanie.

Zasadniczo oznacza to, że PayPal IPN będzie działać tylko z witrynami z certyfikatami SSL, które używają 2048-bitów, a także SHA-256 .

2048-bit powinien być teraz ustandaryzowany dla wszystkich certyfikatów SSL, więc nie powinno stanowić problemu.

SHA-256 jest czymś, na co musisz zwrócić uwagę, ponieważ Twój certyfikat SSL może nadal obsługiwać starszy algorytm szyfrowania kryptograficznego SHA-1 .

Możesz sprawdzić, czy Twój certyfikat SSL używa SHA-1 czy SHA-256 na tej stronie: https://shaaaaaaaaaaaaa.com/

Jeśli nadal używasz SHA-1 , musisz skontaktować się z wystawcą certyfikatu SSL ( nie z dostawcą hostingu ), aby ponownie wystawić certyfikat SSL na SHA-256 i zainstalować go na serwerze w celu zastąpienia certyfikatu SSL SHA-1 .


2
Chodzi o certyfikat serwera PayPal, a nie certyfikat serwera mojej domeny. Myślę, że muszę się upewnić, że połączenia PHP z mojego serwera obsługują zarówno nowy podpisany przez PayPal certyfikat Verisign G5, jak i SHA-256.
MarkE

2
Nie, musiałeś źle zrozumieć. Chodzi o twój własny certyfikat SSL. PayPal IPN przestanie rozmawiać z certyfikatami SSL dowolnego sprzedawcy, które nie używają co najmniej 2048 bitów i SHA-256.
Aspiration Hosting

Ale do tej pory nie potrzebowałeś żadnego certyfikatu, działał nawet bez SSL. Więc chyba nie chodzi o certyfikat SSL sprzedawcy, ponieważ wcześniej nie potrzebowaliśmy żadnego certyfikatu. W przeciwnym razie wspomnieliby, że od teraz będziemy potrzebować SSL, ale nie, nie wspomnieli o tym, po prostu wspomnieli, że dokonają aktualizacji do SHA-256.
JohnyFree

@AspirationHosting aktualizację do mojego poprzedniego komentarza: W swoim e-mail jest napisał: Testing in the Sandbox is one of the best ways to make sure your integration works. Sandbox endpoints have been upgraded to accept secure connections by the SHA-256 Certificates.. Przetestowałem moją witrynę z piaskownicą i pomyślnie uzyskałem status Pełny, co oznacza, że ​​IPN działa, nawet jeśli moja witryna nie ma certyfikatu SSL. Myślę więc, że ta odpowiedź jest poprawna.
JohnyFree

@JohnyFree PayPal oświadczył, że jeśli nie masz żadnego certyfikatu SSL, ogłoszenie nie dotyczy Ciebie i możesz nadal otrzymywać IPN jak zwykle. Jeśli używasz certyfikatu SSL, musisz upewnić się, że jest on co najmniej 2048-bitowy i SHA-256. Uważam, że powodem tego jest to, że gdy masz SSL, ale nie jesteś bezpieczny, dajesz użytkownikom końcowym fałszywe poczucie bezpieczeństwa, ale jeśli w ogóle nie używasz SSL, użytkownicy końcowi nie czują się bezpiecznie w pierwsze miejsce, więc chodzi o dyskusję.
Aspiration Hosting

2

Możesz również sprawdzić to na swoim serwerze, uruchamiając

openssl s_client -connect api-3t.sandbox.paypal.com:443 -showcerts | egrep -wi "G5|return"

W tym wyjściu będziesz chciał zauważyć obecność dwóch konkretnych elementów:

Urząd certyfikacji zawierający „G5”. Zauważ, że możesz zobaczyć kilka wierszy CA na wyjściu; tak długo, jak dołączono G5, twój serwer jest zgodny. Zweryfikuj kod powrotu „0 (ok)”.

Jeśli oba są obecne, serwer jest zgodny i nie trzeba podejmować żadnych dalszych działań.

Creds iść do liquidweb



1

Oto, co zrobiłem, aby sprawdzić, czy moje systemy są gotowe na zmianę certyfikatu:

Na moim debianie, na którym znajduje się Magento, przejdź do / etc / ssl / certs, aby poszukać certyfikatu root wymaganego przez paypal. Znalazłem tam: VeriSign_Class_3_Public_Primary_Certification_Authority _-_ G5.pem => dobra.

  • Przekazałem zamówienie w moim środowisku testowym, które jest powiązane z piaskownicą Paypal, i zapłaciłem za używanie testowej karty kredytowej (aby ją uzyskać, patrz getcreditcardnumbers.com). => dobrze.
  • W backoffice Mangento, Menu sprzedaży> zamówienia> wyświetl zamówienie. W historii komentarzy widziałem zakończenie IPN z identyfikatorem transakcji z paypal. => dobrze.
  • Otworzyłem /var/www/[myshop]/var/log/payment_hosted_pro.log na debian box hostującym magento, aby sprawdzić, czy wystąpił jakiś błąd lub ostrzeżenie. => wszystko dobrze. I zauważyłem link zwrotny ([postback_to] => www.sandbox.paypal.com/cgi-bin/webscr)
  • Użyłem podanego linku, aby sprawdzić, jakiego algorytmu użyto dla tego adresu URL: https://shaaaaaaaaaaaaa.com/check/www.sandbox.paypal.com => Dobrze. Podczas gdy w przypadku strony produkcyjnej jest https://shaaaaaaaaaaaaa.com/check/www.paypal.com => źle. Tak więc w moim środowisku testowym, które jest bardzo podobne do środowiska produkcyjnego, wszystko jest w porządku z certyfikatem używanym w piaskownicy przez paypal. Tak więc, kiedy paypal zmieni certyfikat dla swojej witryny, moja nadal powinna mieć możliwość otrzymania IPN.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.