Quelles actions sont nécessaires pour les modifications de certificat annoncées par PayPal?


21

Je reçois des e-mails d'avertissement de PayPal indiquant qu'ils apportent des modifications au certificat racine pour les connexions SSL pour les notifications de paiement instantané (IPN).

Ils apportent un certain nombre de modifications, notamment le passage des certificats Verisign G2 (1024 bits) à G5 (2048 bits) et le passage d'un hachage SHA-1 à un hachage SHA-256.

Je ne sais pas quelles actions sont nécessaires pour rester compatible avec l'intégration PayPal.

  1. dois-je contacter mon hébergeur pour explorer les modifications qui pourraient être nécessaires dans mon environnement, y compris les versions PHP possibles et les magasins de certificats de confiance?

  2. car il semble que l'intégration de PayPal pour Magento soit «intégrée» (pas une extension), y aura-t-il des correctifs nécessaires pour rester compatible avec PayPal?

Merci!

Réponses:


10

Il semble y avoir une certaine confusion à cause de l'e-mail envoyé par PayPal.

Ce qu'ils signifient essentiellement, c'est que PayPal IPN ne fonctionnera qu'avec les sites Web avec des certificats SSL qui utilisent 2048 bits et également SHA-256 .

2048 bits devraient maintenant être standardisés pour tous les certificats SSL, cela ne devrait donc pas poser de problème.

SHA-256 est quelque chose dont vous devez prendre note car votre certificat SSL peut toujours exécuter l'ancien algorithme de hachage cryptographique SHA-1 .

Vous pouvez vérifier si votre certificat SSL utilise SHA-1 ou SHA-256 sur ce site Web: https://shaaaaaaaaaaaaa.com/

Si vous utilisez toujours SHA-1 , vous devrez contacter l'émetteur de votre certificat SSL ( pas votre fournisseur d'hébergement ) pour réémettre le certificat SSL dans SHA-256 et l'installer sur votre serveur pour remplacer le certificat SSL SHA-1 .


2
Il s'agit du certificat de serveur de PayPal, pas du certificat de serveur de mon domaine. Je pense que je dois être sûr que les connexions PHP de mon serveur prennent en charge le nouveau certificat signé PayPal Verisign G5 et SHA-256.
MarkE

2
Non, vous devez avoir mal compris. Il s'agit de votre propre certificat SSL. PayPal IPN cessera de parler aux certificats SSL de tout commerçant qui n'utilisent pas au moins 2048 bits et SHA-256.
Hébergement Aspiration du

Mais jusqu'à présent, vous n'aviez besoin d'aucun certificat, cela fonctionnait même sans SSL. Donc, je suppose que cette chose ne concerne pas le certificat SSL du marchand, car nous n'avions besoin d'aucun certificat auparavant. Sinon, ils mentionneraient qu'à partir de maintenant, nous aurons besoin de SSL, mais non, ils ne l'ont pas mentionné, ils ont juste mentionné qu'ils passeraient à SHA-256.
JohnyFree

@AspirationHosting mise à jour à mon commentaire précédent: Dans leur e-mail est écrit: 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.. J'ai testé mon site Web avec sandbox et il a mis avec succès l'état complet, ce qui signifie que IPN fonctionne même si mon site Web n'a pas de certificat SSL. Je pense donc que cette réponse est correcte.
JohnyFree

@JohnyFree PayPal a déclaré que si vous n'avez pas de certificat SSL, l'annonce ne s'applique pas à vous et vous pouvez continuer à recevoir IPN comme d'habitude. Si vous utilisez un certificat SSL, vous devez vous assurer qu'il est au moins 2048 bits et SHA-256. Je crois que la raison pour laquelle ils le font est parce que lorsque vous avez un SSL mais pas sûr, vous donnerez aux utilisateurs finaux un faux sentiment de sécurité mais si vous n'utilisez aucun SSL du tout, vos utilisateurs finaux ne se "sentent pas en sécurité" dans le première place donc le point est sans objet.
Hébergement Aspiration

2

Vous pouvez également le vérifier sur votre serveur en exécutant

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

Dans cette sortie, vous voudrez noter la présence de deux éléments spécifiques:

Une autorité de certification contenant «G5». Notez que vous pouvez voir plusieurs lignes CA dans votre sortie; tant que G5 est inclus, votre serveur est conforme. A Vérifiez le code retour «0 (ok)».

Si les deux sont présents, votre serveur est conforme et aucune autre action n'est nécessaire.

Les crédits vont à liquidweb



1

Voici ce que j'ai fait pour vérifier si mes systèmes sont prêts pour ce changement de certificat:

Sur ma boîte Debian hébergeant Magento, allez dans / etc / ssl / certs pour rechercher le certificat racine requis par paypal. J'y ai trouvé: VeriSign_Class_3_Public_Primary_Certification_Authority _-_ G5.pem => bon.

  • J'ai passé une commande sur mon environnement de test qui est lié au sandbox paypal, et j'ai payé en utilisant une carte de crédit de test (voir getcreditcardnumbers.com pour en avoir une). => bon.
  • Dans le backoffice Mangento, Menu ventes> commandes> afficher la commande. Dans l'historique des commentaires, je pouvais voir IPN terminé, avec l'ID de transaction de paypal. => bon.
  • J'ai ouvert /var/www/[myshop 3/8/var/log/payment_hosted_pro.log sur la boîte Debian hébergeant magento pour voir s'il y avait une erreur ou un avertissement. => tout va bien. Et j'ai remarqué le lien postback ([postback_to] => www.sandbox.paypal.com/cgi-bin/webscr)
  • J'ai utilisé le lien que vous avez fourni pour vérifier quel était l'algorithme utilisé pour cette URL: https://shaaaaaaaaaaaaa.com/check/www.sandbox.paypal.com => Bon. Alors que pour le site de production, c'est https://shaaaaaaaaaaaaa.com/check/www.paypal.com => mauvais. Donc sur mon environnement de test qui est très similaire à celui de la production, tout va bien avec le certificat utilisé dans le bac à sable par paypal. Ainsi, lorsque paypal changera son certificat pour son site, le mien devrait toujours pouvoir recevoir IPN.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.