Maison >développement back-end >tutoriel php >Pourquoi mon opération SSL PHP échoue-t-elle avec le code 1 et comment puis-je résoudre les problèmes de vérification du certificat ?

Pourquoi mon opération SSL PHP échoue-t-elle avec le code 1 et comment puis-je résoudre les problèmes de vérification du certificat ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-16 14:49:10142parcourir

Why is my PHP SSL Operation Failing with Code 1, and How Can I Fix Certificate Verification Issues?

Échec de l'opération SSL avec le code 1 : guide complet pour résoudre les problèmes de vérification des certificats

Introduction

Lors de la tentative d'accès un service REST via PHP, les utilisateurs peuvent rencontrer des erreurs liées aux échecs des opérations SSL et à la vérification des certificats. Cet article vise à fournir une compréhension approfondie de ces problèmes et à proposer une solution viable.

Enquête sur les erreurs

L'extrait de code PHP fourni présente des erreurs indiquant un échec dans les opérations SSL. et l'impossibilité de vérifier le certificat du serveur. Ces erreurs surviennent généralement en raison de mises à niveau PHP ou de configurations de serveur spécifiques.

Résoudre les échecs de vérification des certificats

Pour résoudre le problème de vérification du certificat, reportez-vous à la documentation officielle de PHP (http ://php.net/manual/en/migration56.openssl.php). Conformément à la documentation, des paramètres supplémentaires doivent être définis sur false :

"verify_peer" => false,
"verify_peer_name" => false,

Mise en œuvre sécurisée

Il est crucial de noter que la désactivation de la vérification des certificats comporte des risques de sécurité importants. Cela peut permettre aux attaquants d'intercepter et de compromettre les requêtes utilisant des certificats non valides. Par conséquent, cette solution ne doit être utilisée que lorsque les implications en matière de sécurité sont pleinement comprises et que des configurations alternatives ne sont pas réalisables.

Solution alternative

Avant d'adopter la solution non sécurisée, envisagez de vérifier si les certificats requis sont installés et configurés correctement sur le serveur. Consultez les administrateurs du serveur pour vous assurer que les modules OpenSSL nécessaires sont activés et que les certificats sont fiables.

Mise en œuvre

Appliquez l'extrait de code PHP modifié avec les paramètres supplémentaires :

$arrContextOptions = array(
    "ssl" => array(
        "verify_peer" => false,
        "verify_peer_name" => false,
    ),
);  

$response = file_get_contents("https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json", false, stream_context_create($arrContextOptions));

echo $response;

Conclusion

En adoptant Avec la solution décrite ci-dessus, les utilisateurs devraient être en mesure de résoudre les échecs d'opération SSL et les erreurs de vérification de certificat lors de l'accès aux services REST via PHP. Cependant, il est essentiel de donner la priorité à la sécurité en garantissant une configuration appropriée des certificats autant que possible.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn