Wie erhalte ich ECSDA mit p-256 und SHA256 in openSSL?

Wie erhalte ich ECSDA mit p-256 und SHA256 in openSSL?

Apple-Anfragen an seinen APNS müssen JWT (JSON Web Token) verwenden, das mit einem Elliptic Curve Digital Signature Algorithm (ECSDA) unter Verwendung einer p-256-Kurve und eines SHA256-Hashes signiert ist. Wie können Sie mit solchen Parametern in OpenSSL signieren?

openssl ecparam -list_curves

zeigt an:

secp256k1 : SECG curve over a 256 bit prime field

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

Antwort1

Die p-256-Kurve, die Sie verwenden möchten, ist prime256v1.

Versuche dies:

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

verwandte Informationen