openSSL에서 p-256 및 SHA256을 사용하여 ECSDA를 얻는 방법은 무엇입니까?

openSSL에서 p-256 및 SHA256을 사용하여 ECSDA를 얻는 방법은 무엇입니까?

APNS에 대한 Apple 요청은 p-256 곡선 및 SHA256 해시를 사용하여 ECSDA라고도 불리는 타원 곡선 디지털 서명 알고리즘을 사용하여 서명된 JWT(JSON 웹 토큰)를 사용해야 합니다. 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

관련 정보