การดำเนินการใดที่จำเป็นสำหรับการเปลี่ยนแปลงใบรับรองที่ประกาศโดย PayPal


21

ฉันได้รับอีเมลเตือนจาก PayPal ว่าพวกเขากำลังทำการเปลี่ยนแปลงใบรับรองหลักสำหรับการเชื่อมต่อ SSL สำหรับการแจ้งเตือนการชำระเงินทันที (IPN)

พวกเขากำลังทำการเปลี่ยนแปลงจำนวนมากรวมถึงการเปลี่ยนจากใบรับรอง Verisign G2 (1024 บิต) เป็น G5 (2048 บิต) และเปลี่ยนจากแฮช SHA-1 เป็น SHA-256

ฉันไม่แน่ใจว่าฉันจำเป็นต้องดำเนินการอย่างไรเพื่อให้เข้ากันได้กับการรวมระบบใน PayPal

  1. ฉันจะต้องติดต่อผู้ให้บริการโฮสต์ของฉันเพื่อสำรวจการเปลี่ยนแปลงที่อาจจำเป็นในสภาพแวดล้อมของฉันรวมถึงเวอร์ชัน PHP ที่เป็นไปได้และที่เก็บใบรับรองที่เชื่อถือได้

  2. เนื่องจากปรากฏว่าการรวม PayPal สำหรับ Magento เป็น 'ในตัว' (ไม่ใช่ส่วนขยาย) จะมีแพตช์ที่จำเป็นเพื่อให้เข้ากันได้กับ PayPal หรือไม่

ขอบคุณ!

คำตอบ:


10

ดูเหมือนว่าจะมีความสับสนเล็กน้อยเนื่องจาก PayPal ได้รับอีเมล

สิ่งที่พวกเขาหมายถึงโดยทั่วไปคือ PayPal IPN จะทำงานกับเว็บไซต์ที่มีใบรับรอง SSL ที่ใช้2048 บิตและSHA-256เท่านั้น

ตอนนี้2048- บิตควรเป็นมาตรฐานสำหรับใบรับรอง SSL ทั้งหมดดังนั้นจึงไม่น่าจะมีปัญหา

SHA-256เป็นสิ่งที่คุณต้องทราบเนื่องจากใบรับรอง SSL ของคุณอาจยังใช้อัลกอริทึมแฮชเข้ารหัสSHA-1รุ่นเก่า

คุณสามารถตรวจสอบว่าใบรับรอง SSL ของคุณใช้SHA-1หรือSHA-256 ได้ที่เว็บไซต์นี้: https://shaaaaaaaaaaaaaaa.com/

หากคุณยังคงใช้SHA-1คุณจะต้องติดต่อผู้ออกใบรับรอง SSL ของคุณ ( ไม่ใช่ผู้ให้บริการโฮสต์ของคุณ ) เพื่อออกใบรับรอง SSL อีกครั้งในSHA-256และติดตั้งในเซิร์ฟเวอร์ของคุณเพื่อแทนที่ใบรับรอง SSL SHA-1


2
นี่เป็นเรื่องเกี่ยวกับใบรับรองเซิร์ฟเวอร์ของ PayPal ไม่ใช่ใบรับรองเซิร์ฟเวอร์ของโดเมนของฉัน ฉันคิดว่าฉันต้องแน่ใจว่าการเชื่อมต่อ PHP จากเซิร์ฟเวอร์ของฉันรองรับทั้งใบรับรอง Verisign G5 ที่ลงชื่อใหม่ของ PayPal และ SHA-256
MarkE

2
ไม่คุณต้องเข้าใจผิด นี่เป็นเรื่องเกี่ยวกับใบรับรอง SSL ของคุณเอง PayPal IPN จะหยุดพูดกับใบรับรอง SSL ของผู้ค้าที่ไม่ได้ใช้อย่างน้อย 2048 บิตและ SHA-256
Aspiration Hosting

แต่จนถึงตอนนี้คุณไม่ต้องการใบรับรองใด ๆ เลยมันทำงานได้แม้ไม่มี SSL ดังนั้นฉันคิดว่าสิ่งนี้ไม่เกี่ยวกับใบรับรอง SSL ของผู้ค้าเพราะเราไม่ต้องการใบรับรองใด ๆ มาก่อน ไม่เช่นนั้นพวกเขาจะพูดถึงว่าจากนี้เราจะต้องใช้ SSL แต่ไม่มีพวกเขาไม่ได้พูดถึงพวกเขาเพียงกล่าวว่าพวกเขาจะอัพเกรดเป็น SHA-256
JohnyFree

@AspirationHosting อัปเดตความคิดเห็นก่อนหน้าของฉัน: ในอีเมลของพวกเขาเขียนว่า: 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.. ฉันทดสอบเว็บไซต์ของฉันด้วยแซนด์บ็อกซ์และสถานะสำเร็จสมบูรณ์ซึ่งหมายความว่า IPN ทำงานได้แม้ว่าเว็บไซต์ของฉันจะไม่มีใบรับรอง SSL ดังนั้นฉันคิดว่าคำตอบนี้ถูกต้อง
JohnyFree

@JohnyFree PayPal แจ้งว่าหากคุณไม่มีใบรับรอง SSL การประกาศจะไม่มีผลกับคุณและคุณสามารถรับ IPN ได้ตามปกติ หากคุณใช้ใบรับรอง SSL คุณต้องตรวจสอบให้แน่ใจว่ามีอย่างน้อย 2048 บิตและ SHA-256 ฉันเชื่อว่าเหตุผลที่พวกเขาทำเช่นนี้เป็นเพราะเมื่อคุณมี SSL แต่ไม่ปลอดภัยคุณจะให้ความปลอดภัยแก่ผู้ใช้ปลายทาง แต่ถ้าคุณไม่ใช้ SSL เลยผู้ใช้ของคุณจะไม่ "รู้สึกปลอดภัย" ใน สถานที่แรกดังนั้นจุดที่สงสัย
Aspiration Hosting

2

คุณสามารถตรวจสอบบนเซิร์ฟเวอร์ของคุณโดยการเรียกใช้

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

ในผลลัพธ์นั้นคุณจะต้องการบันทึกการมีอยู่ของสองรายการที่ระบุ:

ผู้ออกใบรับรองที่มี“ G5” โปรดทราบว่าคุณอาจเห็น CA หลายบรรทัดในผลลัพธ์ของคุณ ตราบใดที่รวม G5 เซิร์ฟเวอร์ของคุณก็จะเข้ากันได้ A ยืนยันรหัสส่งคืนของ“ 0 (ok)”

หากทั้งคู่มีอยู่เซิร์ฟเวอร์ของคุณจะเข้ากันได้และไม่จำเป็นต้องดำเนินการใด ๆ เพิ่มเติม

เครดิตไปที่liquidweb


1

ข้อมูลทั้งหมดจากpdf การอัพเกรดความปลอดภัย paypal (ภาษาเพิ่มเติมที่นี่ )

บน Linux คุณสามารถตรวจสอบใบรับรองรูท G5 ของ Verisign ได้โดยใช้เชลล์สคริปต์นี้

บน Windows, วิธีการที่แตกต่างกันเล็กน้อยคุณสามารถตรวจสอบที่นี่

หากระบบมีใบรับรองรูท G5 ไม่จำเป็นต้องดำเนินการใด ๆ เพิ่มเติม


1

นี่คือสิ่งที่ฉันได้ทำเพื่อตรวจสอบว่าระบบของฉันพร้อมสำหรับการเปลี่ยนแปลงใบรับรองนี้หรือไม่:

ในกล่อง debian ของฉัน Magento โฮสติ้งไปที่ / etc / ssl / certs เพื่อค้นหาใบรับรองหลักที่ paypal ต้องการ ฉันพบว่า: VeriSign_Class_3_Public_Primary_Certification_Authority _-_ G5.pem => ดี

  • ฉันผ่านการสั่งซื้อในสภาพแวดล้อมการทดสอบของฉันซึ่งเชื่อมโยงกับ sandbox paypal และชำระเงินโดยใช้บัตรเครดิตทดสอบ (ดูที่ getcreditcardnumbers.com เพื่อให้มี) => ดี
  • ใน Back Office ของ Mangento การขายเมนู> คำสั่งซื้อ> ดูคำสั่งซื้อ ในประวัติความคิดเห็นฉันสามารถเห็น IPN เสร็จสมบูรณ์โดยใช้ ID ธุรกรรมจาก paypal => ดี
  • ฉันเปิด /var/www/42myshoplike/var/log/payment_hosted_pro.log ในกล่อง debian โฮสติ้งคุณภาพเยี่ยมเพื่อดูว่ามีข้อผิดพลาดหรือคำเตือนใด ๆ => ทั้งหมดดี และฉันสังเกตเห็นลิงค์ postback ([postback_to] => www.sandbox.paypal.com/cgi-bin/webscr)
  • ฉันใช้ลิงก์ที่คุณให้ไว้เพื่อตรวจสอบอัลกอริทึมที่ใช้สำหรับ URL นั้น: https://shaaaaaaaaaaaaa.com/check/www.sandbox.paypal.com => ดี ในขณะที่ไซต์ผลิตนั้นเป็น https://shaaaaaaaaaaaaa.com/check/www.paypal.com => ไม่ดี ดังนั้นในสภาพแวดล้อมการทดสอบของฉันซึ่งคล้ายกับที่ใช้ในการผลิตทุกอย่างใช้ได้ดีกับหนังสือรับรองที่ใช้ใน sandbox โดย paypal ดังนั้นเมื่อ paypal จะเปลี่ยนหนังสือรับรองสำหรับเว็บไซต์ของฉันเหมืองก็ควรจะสามารถรับ IPN ได้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.