私はADP SSLキーpem、pfx、csrを持っています。 Xamppサーバーを使用してローカルマシンから接続しようとしています。ADP APIが過去のSSLエラーを取得できません
私の人生にとって、私はこのエラーを過ぎることはできません。 "クライアント証明書を使用できません(キーが見つからないか、パスフレーズが間違っていますか?")。
MS管理コンソールに.pfxファイルをインストールすることで、Google PostmanにADP APIを使用させることができました。
これらのファイルをXamppサーバー自体のどこかにインストールする必要がありますか?
私が指している.keyと.pemファイルを格納するアプリケーション内のフォルダがあります。
洞察が得意です。
$auth = array();
$auth['cert'] = "/certs/xxxxxxxxxxxxxxx.pem";
$auth['key'] = "/certs/xxxxxxxxxxxxxxxx.key";
$auth['user'] = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$postfields = array(
"grant_type" => "client_credentials"
);
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => "https://api.adp.com/auth/oauth/v2/token",
CURLOPT_SSLCERT => $auth['cert'],
CURLOPT_SSLKEY => $auth['key'],
CURLOPT_USERPWD => $auth['user'],
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_POSTFIELDS => http_build_query($postfields, '', '&')
));
$auth['token'] = curl_exec($ch);
curl_close($ch);
$response = json_decode($auth['token'], true);
$_SESSION['bearer'] = $response['access_token'];
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => 'https://api.adp.com/hr/v1/corporate-contacts' ,
CURLOPT_SSLCERT => $auth['cert'],
CURLOPT_SSLKEY => $auth['key'],
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_HTTPHEADER => array(
'Accept: application/json',
'Authorization: Bearer ' . $auth['token']
)
));
$data = curl_exec($ch);
if(!$data)
print_r('ERROR: ' . curl_error($ch));
else
print_r('SUCCESS: ' . curl_error($ch));
curl_close($ch);
ありがとうございます。パスフレーズはありません。鍵ファイルは実際には----- BEGIN RSA PRIVATE KEY -----で始まります。ファイルのパーミッションはうまくいきます - Xamppを実行している私のWindowsマシンです。 – bacemail
この鍵と証明書は、自分のマシンで作成した同僚によって私に与えられました。これは問題でしょうか? – bacemail
@bacemail:キーが証明書と一致する限り、それは重要ではありません。このペアが一緒に属していることを確認する方法については、https://support.comodo.com/index.php?/Default/Knowledgebase/Article/View/684/17/how-do-i-verify-that-a-privateを参照してください。 -key-matches-a-certificate-openssl –