AWS托管Airflow中pgpy加密报错:NotImplementedError: PubKeyAlgorithm.RSAEncrypt
PGPy加密报错
NotImplementedError: PubKeyAlgorithm.RSAEncrypt的原因 问题场景
在AWS托管的Airflow环境中执行以下Python代码时,触发NotImplementedError: PubKeyAlgorithm.RSAEncrypt错误:
import pgpy public_key = r'/encryption/pubkey.asc' key_public, _ = pgpy.PGPKey.from_file(public_key) key_public._require_usage_flags = False message = pgpy.PGPMessage.new("42 is quite a pleasant number") encrypted_message = key_public.encrypt(message)
错误原因
- 你使用的PGPy版本未实现对**仅加密用途的RSA密钥(PubKeyAlgorithm.RSAEncrypt)**的支持,底层缺少对应算法的加密逻辑。
- 加载的公钥仅标记为加密用途,即便手动设置
_require_usage_flags = False跳过了密钥用途校验,也无法弥补算法实现缺失的问题。 - AWS托管Airflow环境预装的PGPy版本通常偏稳定(较旧),大概率没有包含对单一用途RSA加密密钥的支持。
内容的提问来源于stack exchange,提问作者Subhabrata Chaudhuri
相关产品推荐
相关产品推荐

