Как получить ECSDA с p-256 и SHA256 в openSSL?

Как получить ECSDA с p-256 и SHA256 в openSSL?

Запросы Apple к своему APNS должны использовать JWT (JSON Web Token), подписанный с использованием алгоритма цифровой подписи на основе эллиптических кривых, также известного как ECSDA, с использованием кривой p-256 и хэша SHA256. Как можно подписать с такими параметрами в openssl?

openssl ecparam -list_curves

показывает:

secp256k1 : SECG curve over a 256 bit prime field

prime256v1: X9.62/SECG curve over a 256 bit prime field

решение1

Кривая p-256, которую вы хотите использовать, — это prime256v1.

Попробуй это:

Create private key:
openssl ecparam -genkey -name prime256v1 -noout -out private.pem

Create public key:
openssl ec -in private.pem -pubout -out public.pem

Sign something
openssl dgst -sha256 -sign private.pem yourinputdocument -out yourinput.sha256 yourinput 

To verify:
openssl dgst -sha256 -verify public.pem -signature yourinput.sha256 yourinputdocument

Связанный контент