Поддерживает ли openssl_sign ключи Ed25519?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Поддерживает ли openssl_sign ключи Ed25519?

Сообщение Anonymous »

Согласно журналу изменений OpenSSL, в OpenSSL 1.1.1 добавлена ​​поддержка EdDSA (включая Ed25519). Я использую PHP 7.3.5 с OpenSSL 1.1.1b, который должен его поддерживать. Я пытался использовать Ed25519 (те, что https://www.rfc-editor.org/rfc/rfc8410#section-10.3). Это привело к следующей ошибке (возвращённой функцией openssl_error_string()) с ключом «Ed25519 закрытый ключ без открытого ключа».
ошибка: 0608D096: процедуры цифрового конверта: EVP_PKEY_sign_init: операция не поддерживается для этого типа ключа

Ключ «Закрытый ключ Ed25519, закодированный с помощью атрибута и открытого ключа» привел к другой ошибке.

Предупреждение: openssl_sign() : предоставленный параметр ключа не может быть преобразован в закрытый ключ в /path/to/test.php в строке 3, неверная ошибка: 0D078094: кодировка asn1 подпрограммы: asn1_item_embed_d2i: несоответствие длины последовательности

Это код, который я использовал.

Код: Выделить всё

$r = openssl_sign('hello, world!', $signature, '-----BEGIN PRIVATE KEY-----
MHICAQEwBQYDK2VwBCIEINTuctv5E1hK1bbY8fdp+K06/nwoy/HU++CXqI9EdVhC
oB8wHQYKKoZIhvcNAQkJFDEPDA1DdXJkbGUgQ2hhaXJzgSEAGb9ECWmEzf6FQbrB
Z9w7lshQhqowtrbLDFw4rXAxZuE=
-----END PRIVATE KEY-----');

echo $r ? 'good' : 'bad';

echo "\n";

echo openssl_error_string();
Думаю, PHP просто еще не поддерживает Ed25519.

Подробнее здесь: https://stackoverflow.com/questions/562 ... 25519-keys
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»