Estoy creando un generador de licencias para nodejs y actualmente estoy probando en Heroku .
En mi máquina local que ejecuta OpenSSL 1.0.1g, puedo probar mis pares de claves (firmar y verificar) de esta manera:
# data.txt's content (the content of the string literal): "Tsenkov"
openssl dgst -sha1 -sign private.pem data.txt > license.txt
openssl dgst -verify public.pem -signature license.txt data.txt
Pero en Heroku (OpenSSL 0.9.8) me aparece el siguiente error:
Error Signing Data
27:error:0606B06E:digital envelope routines:EVP_SignFinal:wrong public key type:p_sign.c:99:
Así es como se genera mi par:
openssl ecparam -genkey -name secp521r1 -noout -out private.pem
openssl ec -in private.pem -pubout -outform PEM -out public.pem
Recuerdo que tuve el mismo problema en OS X 10.9.2 (máquina local), pero antes de intentar cualquier otra cosa, actualicé OpenSSL a través de Homebrew y milagrosamente empecé a funcionar.
Supongo que hay una forma más antigua de firmar datos (sintaxis, etc.) que no conozco.
¿Puede alguien ayudar? Gracias.