/ /どうやってpkcs12(p12)証明書を使ってTransunion APIに送るのですか? - php、api、curl、certificate

pkcs12(p12)証明書でTransunion APIにどのように送信しますか? - PHP、API、カール、証明書

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