cms_enveloped_decrypt
[cms_enveloped] 解密 CMS EnvelopedData(RFC 5652 §6)/ authEnvelopedData(RFC 5083), BER/DER 输入均容忍。 【算法】按消息声明还原算法:rsaesOaep 参数(hashFunc/MGF1/pSource, RFC 3560)重建 OAEP padding,内容算法按 OID 分派(CBC 去 PKCS#7 填充 / GCM 取独立 mac 字段验 AEAD,长度必须等于声明的 aes-ICVlen, authAttrs 存在时以 universal SET OF DER 作 AAD——RFC 5083 §3; EnvelopedData 下的 GCM 无定义,直接 reason 拒绝)。 【参数】
cms_in_hex:信封 DER/BER 的十六进制(≤16MB)
recipient_private_key_in_pem:收件人 RSA 私钥 PEM(可选;不给则 仅做结构拆解)
recipient_private_key_password:私钥口令(未加密则留空) 【输出】decrypted(bool)、reason、plain_data_in_hex、version、 wrap/CEA(从消息声明还原)、recipients、ber_features(不定长容器/ 分段八位串/非最短长度等 BER 特征清单)、structure_tree。 【注意】结构性解析成功即 success——解密失败落 decrypted=false + reason,树照常返回;AWS KMS 回包这类 BER 信封可直接喂入。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cms_in_hex | No | CMS 信封 DER/BER 编码的十六进制字符串(≤16MB;KMS 回包这类 BER 不定长编码可直接输入) | |
| recipient_private_key_in_pem | No | 收件人 RSA 私钥的 PEM 文本(含 BEGIN/END 头尾) | |
| recipient_private_key_password | No | 收件人私钥的加密密码(原始字符串,未加密则留空) |