cms_signed_sign
[cms_signed] 构造 CMS SignedData 签名消息(RFC 5652 §5)。 【算法】RSA PKCS#1 v1.5 或 ECDSA × SHA224/256/384/512; authenticatedAttributes 自动携带 contentType + messageDigest + signingTime + SMIMECapabilities,签名按 §5.4 计算在 signedAttrs 的 EXPLICIT SET OF(0x31)DER 重编码上(untag 规则)。 【参数】
signer_certificate_in_pem:签名者证书 PEM(嵌入 certificates 集, 验签方可按 sid 定位)
signer_private_key_in_pem / signer_private_key_password:签名 私钥与口令(未加密留空)
hash_algorithm:Sha256(默认)/ Sha384 / Sha512 / Sha224 / Sha1
detached:True 时 eContent 缺省(§5.2,载荷带外,验签必填 外部内容);默认 False(attached,内容嵌消息)
data_in_hex:待签原文(1B~16MB) 【输出】cms_in_hex(DER 定长)、version(=1)、digest/signature 算法与 OID、signer_sid、certificates_embedded、detached、 structure_tree(ASN.1 TLV 拆解树)。 【注意】Ed25519 与 SHA1 签名被上游 PKCS7SignatureBuilder 拒绝 (add_signer 只收 RSA/EC × SHA224-512),返回签名失败错误码, 验签侧照常支持;RSA-PSS 构建未暴露——openssl cms -sign -keyopt rsa_padding_mode:pss 的产物可用 cms_signed_verify 验。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| detached | No | True 时载荷带外(COSE payload 置 null / CMS eContent 缺省),验签必须提供外部内容;默认 False | |
| data_in_hex | No | 数据的十六进制字符串。RAW 模式为消息原文 Hex,DIGEST 模式为哈希摘要 Hex | |
| hash_algorithm | No | 哈希算法名称,可选值:Sha1 / Sha224 / Sha256 / Sha384 / Sha512(ECC 不支持 Sm3) | Sha256 |
| signer_certificate_in_pem | No | 签名者证书的 PEM 文本(嵌入 certificates 集,验签方可按 sid 定位) | |
| signer_private_key_in_pem | No | 签名者私钥的 PEM 文本(含 BEGIN/END 头尾) | |
| signer_private_key_password | No | 签名者私钥的加密密码(原始字符串,未加密则留空) |