Outils pour utilisateurs

Outils du site


informatique:langages:php:utiliser_le_client_soap_avec_un_certificat

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
informatique:langages:php:utiliser_le_client_soap_avec_un_certificat [2025/01/02 09:28] – supprimée - modification externe (Date inconnue) 127.0.0.1informatique:langages:php:utiliser_le_client_soap_avec_un_certificat [2025/01/02 09:28] (Version actuelle) – ↷ Page déplacée de informatique:php:utiliser_le_client_soap_avec_un_certificat à informatique:langages:php:utiliser_le_client_soap_avec_un_certificat alexis
Ligne 1: Ligne 1:
 +===== Utiliser le client SOAP avec un certificat =====
 +Certains services web demandent de s'authentifier avec un certificat.
 +
 +En lisant la documentation, on se rend compte que le client SOAP accepte des options pour définir le certificat du client ainsi que son mot de passe. Malheureusement, je n'ai pas réussi à le faire fonctionner de cette manière.\\
 +Heureusement, il existe une autre façon de faire en injectant le certificat du client ainsi que son mot de passe directement dans la requête SSL.
 +
 +<WRAP prewrap>
 +<code php>
 +$wsdl = "<URL du fichier de description du service web>";
 +
 +// Ici on configure les options de la requête SSL
 +$context = stream_context_create([
 +    'ssl' => [
 +        'local_cert' => "<chemin d'accès au certificat>", // uniquement au format PEM
 +        'passphrase' => "<mot de passe du certificat>",
 +    ],
 +]);
 +
 +// Ici on configure les options du client SOAP
 +$soap_options = [
 +    'stream_context' => $context, // injection des options de la requête SSL
 +];
 +
 +// Ici on cré le client SOAP avec les options SOAP et SSL
 +$soap_client = new \SoapClient($wsdl, $soap_options);
 +</code>
 +</WRAP>