TransUnionに接続できませんcURLを使用してphpでAPIをテストします。誰かがすでにこれをしているかどうか私に知らせてください。私は自分のXMLファイルをすでに送信する準備ができています。証明書とキーを含む.p12ファイルを受け取ったので問題が何であるかわからないだけですが、それでも接続できません。私は以下を試しました:
$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
誰かが私が間違っていることを私に知らせてください。ありがとう。
回答:
回答№1は1次のようにp12ファイルから証明書を正しく抽出してください。
CA証明書を抽出するには
openssl pkcs12 -in NAME_OF_P12_FILE.p12 -cacerts -nokeys -out NAME_OF_PEM_FILE_TO_CREATE.pem
個人証明書を抽出するには
openssl pkcs12 -in NAME_OF_P12_FILE.p12 -clcerts -nokeys -out NAME_OF_PEM_FILE_TO_CREATE.pem
秘密鍵を抽出するには
パスワード付き openssl pkcs12 -in NAME_OF_P12_FILE.p12 -clcerts -nocerts -out NAME_OF_PEM_FILE_TO_CREATE.pem
パスワードなし openssl pkcs12 -in NAME_OF_P12_FILE.p12 -clcerts -nocerts -nodes -out NAME_OF_PEM_FILE_TO_CREATE.pem