Como obter ECSDA com p-256 e SHA256 em openSSL?

Como obter ECSDA com p-256 e SHA256 em openSSL?

As solicitações da Apple para seu APNS devem usar JWT (JSON Web Token) assinado usando um algoritmo de assinatura digital de curva elíptica, também conhecido como ECSDA, usando uma curva p-256 e um hash SHA256. Como você pode assinar com esses parâmetros no openssl?

openssl ecparam -list_curves

mostra:

secp256k1 : SECG curve over a 256 bit prime field

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

Responder1

A curva p-256 que você deseja usar é prime256v1.

Experimente isto:

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

informação relacionada