web-dev-qa-db-ja.com

openSSLでp-256およびSHA256を使用してECSDAを取得する方法

APNSへのAppleの要求は、p-256曲線とSHA256ハッシュを使用する楕円曲線デジタル署名アルゴリズム(別名ECSDA)を使用して署名されたJWT(JSON Webトークン)を使用する必要があります。 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
10
Nicolas Manzini

使用する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
9
Megascolia