Używam cURL do weryfikacji logowania przez kilka miesięcy, a działało poprawnie.Błąd zwijania Certyfikat SSL nie może uzyskać certyfikatu lokalnego wystawcy - ostatnie uaktualnienie
$searchURL = "https://url.com/isTokenValid?";
$strCookie = 'asdf=' . $_COOKIE['asdf'] . '; path=/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $searchURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIE, $strCookie);
curl_setopt($ch, CURLOPT_CAPATH, "\cacert.pem");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, FALSE);
if($answer = curl_exec($ch))
{
if (strpos($answer,'true') !== false)
{
$login = true;
}
else
{
$login = false;
}
Dziś rano - przestał działać, i pojawia się błąd:
Curl error: SSL certificate problem: unable to get local issuer certificate
używam plik cacert.pem
z https://curl.haxx.se/ca/cacert.pem - w przypadku gdy dane te należy zaktualizować lub odświeżony w jakiś sposób, używam plik z tą datą, która wydaje się wciąż być najbardziej aktualny:
Certificate data from Mozilla as of: Wed Oct 28 04:12:04 2015
to nie jest moją mocną stroną w tworzeniu stron internetowych, więc nie jestem pewien, jak rozwiązać problem, co się tutaj dzieje. Moja pierwsza myśl jest taka, że musi to być coś po stronie serwera, ponieważ nie robiłem żadnych zmian lokalnie przez weekend, ale nie chciałem zacząć szturchać, jeśli ktoś mógłby najpierw wskazać mi właściwy kierunek.
Dzięki!
Czy masz wiersza poleceń dostęp do serwera? Jeśli tak, spróbuj tego polecenia 'openssl s_client -connect url.com: 443' – Machavity
Jest możliwe, że zdalna witryna ostatnio zainstalowała nowy certyfikat. Użyj przeglądarki, aby sprawdzić certyfikat, aby sprawdzić, czy daty i/lub wystawcy uległy zmianie. – drew010
@Machavity Jestem na komputerze z systemem Windows - nie jestem pewien, co masz na myśli przez 'dostęp do wiersza poleceń' - Próbowałem polecenia w Windows' 'cmd' i nie jest to polecenie, więc zakładam, że masz na myśli coś innego. –