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 ?
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!