Bonjour,

Je m'arrache les cheveux depuis plusieurs jours sur un problème, j'ai vu que je ne semble pas être le seul à galérer sur ce sujet, cependant, j'ai fait le tour de beaucoup de docs et de forums sans trouver ma solution.

Voilà, je voudrais appeler, via CURL, des WS via d'une plateforme qui nécessite un certificat (que nous avons acheté).

Ce certificat est au format p12.

J'ai réussi a appeler les WS via SOAPUI sans souci en intégrant le certificat.

Maintenant je tente mon appel avec curl en php qui apparemment n'accepte que le format pem.
J'ai donc transformé mon p12 en pem à partir de commandes openssl, en suivant des procédures sur le web. Quand j'ouvre ce .pem avec notepad++, je vois que j'ai donc bien un fichier .pem avec ma clé privée et le certificat dedans.

Voici mon appel en php à CURL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
$ch = curl_init();
 
curl_setopt($ch, CURLOPT_URL,'https://api_a_appeler');
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, TRUE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO,'/path/to/monfichier.pem');
 
$curl_response = curl_exec($ch);
 
print(curl_error($ch));
 
curl_close($ch);
J'obtiens à chaque fois cette erreur (peu parlante) :
"SSL certificate problem: unable to get local issuer certificate"

Merci par avance pour votre aide.