在AWS Lambda中设置RSA私钥环境变量时,会因私钥格式的问题而返回错误。解决方法是将私钥分段,并使用JSON格式进行转义,然后在Lambda配置中设置环境变量。以下是示例代码:
# 分段RSA私钥
private_key = "-----BEGIN RSA PRIVATE KEY-----\n\
MIIEpAIBAAKCAQEA0Nxh...,u8EFR1.....\n\
4W5v+7s3wqU44YWGLqBQ2vJGpCeBvBL4\n\
-----END RSA PRIVATE KEY-----\n"
# 转义和设置环境变量
import json
import os
private_key_json = json.dumps({"PRIVATE_KEY": private_key})
os.environ["PRIVATE_KEY"] = private_key_json
# 在Lambda中获取环境变量并解密RSA私钥
import rsa
private_key_json_str = os.environ.get("PRIVATE_KEY")
private_key_json = json.loads(private_key_json_str)
private_key = rsa.PrivateKey.load_pkcs1(private_key_json["PRIVATE_KEY"].encode())