Я не знаю, в чем проблема.
Возможно, вы забыли создать (или извлечь) открытый ключ из закрытого ключа.
Но проверьте следующие шаги:
1) сгенерировать закрытый ключ:
openssl genrsa -out private.pem 2048
2) извлечь открытый ключ из закрытого ключа:
openssl rsa -in private.pem -outform PEM -pubout -out public.pem
3) и пример php-кода:
['field1' => 1, 'field2' => 'string data'],
"iss" => "http://example.org",
"aud" => "http://example.com",
"iat" => 1531498466,
"eat" => 1557000000
];
$token = JWT::encode($payload, $privateKey, 'RS256');
echo "Token:\n" . print_r($token, true) . "\n";
$decoded = JWT::decode($token, $publicKey, ['RS256']);
$decoded_array = (array) $decoded;
echo "Decoded:\n" . print_r($decoded_array, true) . "\n";
Команда -h ссылается на заголовок.
Попробуйте приведенный ниже код,
// Generated by curl-to-PHP: http://incarnate.github.io/curl-to-php/
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://urlofapp.com/API/GetTransaction');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "{ 'CustomerID':'12345','EndDate':'2018-12-31','StartDate':'2018-01-01'}");
curl_setopt($ch, CURLOPT_POST, 1);
$headers = array();
$headers[] = 'Apikey: My:ApI;key;';
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
, который я использовал ниже для преобразования команды curl в скрипт PHP,
https://incarnate.github.io/curl-to -php /
Надеюсь, это будет полезно.