Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PHP, Perl, Python Новый топик    Ответить
 PHP: Вопрос по хешированию (подписи)  [new]
Alibek B.
Member

Откуда:
Сообщений: 2935
Мне нужно сгенерировать подпись SHA256 по ключу.
Нужна альтернатива следующей процедуры:
echo message | openssl dgst -sha256 -sign private.pem | base64 -w 0
Я использую такое выражение:
base64_encode(hash_hmac('sha256', 'message', 'private.pem', true))

Но результат (подпись) не совпадает.
Видимо потому что третий параметр функции (private.pem) воспринимается как стока, а не как закрытый ключ.
Не подскажите, как на PHP подписать данные аналогично первому выражению?
26 дек 18, 01:23    [21773500]     Ответить | Цитировать Сообщить модератору
 Re: PHP: Вопрос по хешированию (подписи)  [new]
Alibek B.
Member

Откуда:
Сообщений: 2935
И сам себе отвечаю.
Сделал такую функцию:
private function sign($data)
{
	$pkey = openssl_pkey_get_private('file://private.pem');
	openssl_sign($data, $sign, $pkey, OPENSSL_ALGO_SHA256);
	openssl_free_key($pkey);
	return base64_encode($sign);
}

Подписывает, как мне требуется.
26 дек 18, 01:34    [21773503]     Ответить | Цитировать Сообщить модератору
Все форумы / PHP, Perl, Python Ответить