9
我無法通過php使用cURL連接到TransUnion的測試API。如果有人已經這樣做,請告訴我。我已經準備好了我的XML文件發送給他們,我只是不知道是什麼問題,因爲我收到了包含證書和密鑰的.p12文件,但它仍然不讓我連接。我試過如下:如何使用pkcs12(p12)證書發送給Transunion API?
$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');
然後我試着用我的Mac上通過終端連接:
curl -cert /Users/temp_user/cert.pem -key /Users/temp_user/key.pem https://netaccess-test.transunion.com
可有人請讓我知道我做錯了。謝謝。
您會收到哪個錯誤?使用curl,嘗試詳細切換(命令行中的-v和PHP中的相關選項curl_setopt)以更多地瞭解幕後發生的事情。 – hakre
我忘了提及我在命令行上使用OpenSSL從.p12文件創建證書(cert.pem)和密鑰(key.pem)文件。但是的,我收到了以下時我添加--verbose到命令行: 數字證書無效。請確保您擁有正確的數字證書或下載新的數字證書,然後重新提交事務。如果情況持續存在,請通知TransUnion服務檯800-813-5604。 *關閉連接#0 * SSLv3,TLS警報,客戶端hello(1): –
user1754111
檢查您是否確實將其正確轉換。同樣出於測試的原因,我認爲你可以從這些中移除密碼。在您解決問題時可以提供幫助。 – hakre