cURLを使用してPHP経由で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を使用して、冗長スイッチ(curl_setoptを使用してコマンドラインで-vを、PHPでcurl_setoptで関連するオプション)を試して、舞台裏で何が起こっているのかを知ることができます。 – hakre
コマンドラインでOpenSSLを使用して、.p12ファイルから証明書(cert.pem)とキー(key.pem)ファイルを作成することを忘れてしまいました。私は、コマンドラインに--verboseを追加したときしかし、ええ、私は次の受信: デジタル証明書が無効です。正しいデジタル証明書を持っているか、新しいデジタル証明書をダウンロードしてから、トランザクションを再送信してください。状況が続く場合は、TransUnion Service Desk(800-813-5604)に通知してください。 *接続を閉じる#0 * SSLv3、TLSアラート、クライアントhello(1): –
user1754111
正しく変換したかどうかを確認してください。また、テストの理由から、私はあなたがこれらからパスワードを削除できると思います。トラブルシューティング中に役立つことがあります。 – hakre