Como obter o ECSDA com p-256 e SHA256 no openSSL?

3

As solicitações da Apple ao seu APNS devem usar o 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
    
por Nicolas Manzini 12.10.2017 / 09:57

1 resposta

3

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

Tente 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
    
por 12.10.2017 / 12:10

Tags