Может кто-нибудь помочь мне преобразовать это в PHP? Я пробовал с namshi / jose, но он каждый раз создает случайные ключи, которые не совпадают с тем, что делает мой скрипт на python.
Мой скрипт на Python:
from jose import jws
import hashlib
import base64
privatekey = """-----BEGIN RSA PRIVATE KEY-----KEY-----END RSA PRIVATE KEY---- -"""
payload = 'somepayload'
payload_utf8 = payload.encode("utf-8")
payload_sha1 = hashlib.sha1(payload_utf8).digest()
payload_base64 = base64.b64encode(payload_sha1)
payload_signed = jws.sign(payload_base64, privatekey, algorithm='RS256')
print(payload_signed)
Что я пробовал с Намши / Хосе (https://github.com/namshi/jose/):
$jws = new SimpleJWS(array(
'alg' => 'RS256'
));
$payload = utf8_encode("somepayload");
$payload = base64_encode(sha1($payload , true ) );
$jws->setPayload(array(
'payload' => $payload,
));
$privateKey = "-----BEGIN RSA PRIVATE KEY-----KEY-----END RSA PRIVATE KEY-----";
echo $jws->sign($privateKey);
Задача ещё не решена.
Других решений пока нет …