Bagaimana untuk Menyelesaikan Ralat \'Masalah dengan SSL CA Cert\' dalam PHP CURL Walaupun Melumpuhkan Pengesahan?

DDD
Lepaskan: 2024-10-20 07:20:02
asal
949 orang telah melayarinya

How to Resolve

Menyelesaikan masalah Diabaikan CURLOPT_SSL_VERIFYPEER dalam PHP CURL

Masalah:

Pengguna yang menghadapi masalah Permintaan HTTPS menggunakan CURL menimbulkan ralat "Masalah dengan sijil SSL CA", walaupun menetapkan kedua-dua CURLOPT_SSL_VERIFYPEER dan CURLOPT_SSL_VERIFYHOST kepada palsu.

Punca dan Penyelesaian:

Untuk berjaya mengesahkan hos atau sijil rakan sebaya menggunakan CURL, anda perlu menentukan sijil ganti dengan CURLOPT_CAINFO atau direktori sijil dengan CURLOPT_CAPATH.

Selain itu:

  • CURLOPT_SSL_VERIFYHOME

      Tetapkan kepada 1 untuk menyemak kewujudan nama biasa dalam sijil rakan setara SSL.
    • Tetapkan kepada 2 untuk menyemak kewujudan nama biasa dan padankannya dengan nama hos yang disediakan.

Kod Cadangan:

Untuk melumpuhkan pengesahan untuk hos dan rakan sebaya:

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
Salin selepas log masuk
Untuk mendayakan pengesahan dan nyatakan sijil CA fail:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_CAINFO, "/path/to/cacert.pem");
Salin selepas log masuk

Nota Tambahan:

    Pastikan fail sijil CA sah dan boleh diakses oleh pelayan.
  • The tetapan curl.cainfo dalam php.ini juga boleh digunakan untuk menentukan fail sijil CA.
  • Namakan semula /etc/pki/nssdb kepada /etc/pki/nssdb.old untuk menetapkan semula pihak berkuasa sijil.

Kemas kini:

Selepas mengemas kini perpustakaan dan memulakan semula sistem, isu itu mungkin selesai dengan sendirinya.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'Masalah dengan SSL CA Cert\' dalam PHP CURL Walaupun Melumpuhkan Pengesahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!