Я пытаюсь получить данные с веб-сайта, где вначале вы должны выбрать в своем браузере свой сертификат pfx (раньше вам приходилось устанавливать этот тип сертификата на вашем компьютере). Как обычно, вы можете установить один или несколько сертификатов на локальном компьютере и использовать свой собственный сертификат для получения необходимой информации. Например, на моей машине я установил свой собственный сертификат и сертификат моей жены, который мы используем для обращения к врачу в Испании.
Я пытаюсь получить эту информацию с помощью curl_init ()из моего php веб-приложения, но я не знаю, как это сделать, если даже это возможно ...
$postData = array('dni' => '00000000X');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://website-with-personalcertificate.es/inicio.jsf");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE);
$response = curl_exec($ch);
if ($response === FALSE){
echo "CURL ERROR" . curl_error($ch);
}
curl_close($ch);
echo $response;
В ответ я получаю веб-сайт для входа, но никогда не внутренний веб-сайт,потому что я не сдал сертификат pfx.
Любое решение?
Большое спасибо заранее.