
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