I'm trying to sign data with the OpenSSL crypto library. I'm working local but since I will be deploying to Cloud functions, I'm testing with my key located in .env
import base64
from OpenSSL import crypto, SSL
def encrypt_metadata(data):
metadata= json.dumps(data, indent=2).encode('utf-8')
ENCRYPTION_KEY = os.environ.get('private_ssl_passbase_key')
pkey = crypto.load_privatekey(crypto.FILETYPE_PEM, bytes(ENCRYPTION_KEY, 'utf-8'))
#encrypt metadata using openssl crypto library
signature = base64.b64encode(crypto.sign(pkey, metadata,'sha256'))
return signature
My error is related to: pkey
[('DECODER routines', '', 'unsupported')]
How can I use my string Encryption key in the crypto.sign?
My key in .env looks something like this
private_ssl_passbase_key="-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY----"
SOLVED If you see
-----END RSA PRIVATE KEY----
it's missing 1 "-"