Ich habe Probleme mit TransUnion zu verbindentest API über PHP mit cURL. Bitte lassen Sie mich wissen, wenn jemand dies bereits getan hat. Ich habe bereits meine XML-Datei zum Senden bereit. Ich weiß nur nicht, was das Problem ist, weil ich von ihnen eine P12-Datei erhalten habe, die das Zertifikat und den Schlüssel enthält, aber immer noch keine Verbindung herzustellen. Ich habe folgendes versucht:
$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");
Dann habe ich versucht, mich über das Terminal auf meinem Mac anzuschließen:
curl -cert /Users/temp_user/cert.pem -key /Users/temp_user/key.pem https://netaccess-test.transunion.com
Kann mir jemand bitte sagen, was ich falsch mache. Vielen Dank.
Antworten:
1 für die Antwort № 1Stellen Sie sicher, dass Sie Ihre Zertifikate korrekt aus der p12-Datei extrahieren:
So extrahieren Sie das CA-Zertifikat:
openssl pkcs12 -in NAME_OF_P12_FILE.p12 -cacerts -nokeys -out NAME_OF_PEM_FILE_TO_CREATE.pem
So extrahieren Sie das persönliche Zertifikat:
openssl pkcs12 -in NAME_OF_P12_FILE.p12 -clcerts -nokeys -out NAME_OF_PEM_FILE_TO_CREATE.pem
So extrahieren Sie den privaten Schlüssel:
Mit einem Passwort: openssl pkcs12 -in NAME_OF_P12_FILE.p12 -clcerts -nocerts -out NAME_OF_PEM_FILE_TO_CREATE.pem
Ohne Passwort: openssl pkcs12 -in NAME_OF_P12_FILE.p12 -clcerts -nocerts -nodes -out NAME_OF_PEM_FILE_TO_CREATE.pem