Je travaille sur une application ASP.Net WebForms. Nous utilisons l'API Start de PayFort pour le processus de paiement. L'application fonctionne correctement sur notre machine locale (Windows 10) mais affiche l'erreur suivante lorsque nous essayons d'effectuer un paiement en utilisant leur API sur notre serveur de déploiement (Windows Server Web 2008).
Le client et le serveur ne peuvent pas communiquer, car ils ne possèdent pas un algorithme commun.
La documentation sur leur page web (PayFort Start et SSL/TLS) indique qu'ils utilisent Tls1.2 pour la communication. Leur API contient déjà le code pour utiliser Tls1.2 en tant que protocole de sécurité
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Nous avons construit l'application sur le framework .Net 4.5 puisque Tls1.2
est pris en charge par .Net 4.5 ou ultérieur. Il va sans dire que notre serveur dispose de .Net Framework 4.5 installé dessus.
Nous avons également ajouté les valeurs du registre pour Tls1.1 et Tls1.2 dans le registre windows
En utilisant l'outil SSL Labs, nous avons également confirmé qu'il y a au moins deux suites de chiffrement prises en charge par les deux serveurs (notre serveur et le serveur API de PayFort) (https://api.start.payfort.com)
Suites de chiffrement prises en charge par le serveur API de PayFort (Les contours verts sont ceux qui sont communs avec notre serveur)
Suites de chiffrement prises en charge par notre serveur
J'ai également utilisé le logiciel Nartac IIS crypto et il affiche les informations suivantes en tant que Meilleures Pratiques
Je ne suis pas sûr si cela a un rapport avec le problème ou non, mais voici les détails du certificat SSL installé sur notre serveur
Est-ce que quelqu'un pourrait indiquer ce que nous faisons de travers et ce que nous devrions faire pour communiquer avec le serveur souhaité et effectuer un paiement à partir de l'application déployée sur notre serveur comme nous le faisons parfaitement sur notre machine locale.