/ / Jak wysłać do Transunion API za pomocą certyfikatu pkcs12 (p12)? - php, api, curl, certyfikat

Jak wysłać do Transunion API z certyfikatem pkcs12 (p12)? - php, api, curl, certyfikat

Mam problemy z połączeniem z TransUnionemprzetestuj API przez php za pomocą cURL. Daj mi znać, jeśli ktoś już to zrobił. Mam już gotowy plik XML do wysłania, po prostu nie wiem, jaki jest problem, ponieważ otrzymałem od nich plik .p12, który zawiera certyfikat i klucz, ale nadal nie pozwala mi się połączyć. Próbowałem:

    $ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_SSLCERT, getcwd()."/certs/cert.pem");
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, "test_pass");
curl_setopt($ch, CURLOPT_SSLKEYTYPE, "PEM");
curl_setopt($ch, CURLOPT_SSLKEY, getcwd()."/certs/key.pem");
curl_setopt($ch, CURLOPT_SSLKEYPASSWD, "test_pass");

Następnie próbowałem połączyć się przez Terminal na moim komputerze Mac za pomocą:

curl -cert /Users/temp_user/cert.pem   -key /Users/temp_user/key.pem https://netaccess-test.transunion.com

Czy ktoś może mi powiedzieć, co robię źle? Dzięki.

Odpowiedzi:

1 dla odpowiedzi № 1

Upewnij się, że poprawnie wyodrębniłeś certyfikaty z pliku p12 w następujący sposób:

Aby wyodrębnić certyfikat CA:

openssl pkcs12 -in NAME_OF_P12_FILE.p12 -cacerts -nokeys -out NAME_OF_PEM_FILE_TO_CREATE.pem

Aby wyodrębnić certyfikat osobisty:

openssl pkcs12 -in NAME_OF_P12_FILE.p12 -clcerts -nokeys -out NAME_OF_PEM_FILE_TO_CREATE.pem

Aby wyodrębnić klucz prywatny:

Z hasłem: openssl pkcs12 -in NAME_OF_P12_FILE.p12 -clcerts -nocerts -out NAME_OF_PEM_FILE_TO_CREATE.pem

Bez hasła: openssl pkcs12 -in NAME_OF_P12_FILE.p12 -clcerts -nocerts -nodes -out NAME_OF_PEM_FILE_TO_CREATE.pem