cose_sign1_sign
[cose_sign1] 构造并签名 COSE_Sign1 消息(RFC 9052 §4.2,算法 RFC 9053)。 【算法】ES256(-7, P-256+SHA-256) / ES384(-35, P-384+SHA-384) / ES512(-36, P-521+SHA-512) / EdDSA(-8, Ed25519)。ES 系签名为裸 r||s (坐标左补零到曲线宽度,ES512 坐标 66 字节、r||s 共 132 字节)。 【参数】
algorithm:ES256 / ES384 / ES512 / EdDSA
ecc_private_key_in_pem:EC 或 Ed25519 私钥 PEM(须与算法曲线匹配)
ecc_private_key_password:私钥口令(未加密则留空)
payload_in_hex:待签 payload(1B~256KB)
external_aad_in_hex:外部 AAD(可选,默认空串) 【输出】cose_sign1_in_hex(完整 COSE_Sign1)、protected_in_hex、 sig_structure_in_hex(Sig_structure 待签字节,RFC 9052 §4.4,可直送 openssl dgst 交叉)、signature_raw_in_hex(裸 r||s)、 signature_der_in_hex / r_in_hex / s_in_hex(EdDSA 无此形态)、structure_tree。 【注意】签名真正覆盖的是 Sig_structure = ["Signature1", protected, external_aad, payload] 的规范编码,不是 payload 本身。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| detached | No | True 时载荷带外(COSE payload 置 null / CMS eContent 缺省),验签必须提供外部内容;默认 False | |
| algorithm | No | 密码算法名称(具体可选值因工具而异,见工具描述) | ES384 |
| payload_in_hex | No | COSE Sign1 待签 payload 的十六进制字符串(1B~256KB) | |
| external_aad_in_hex | No | 外部 AAD 的十六进制字符串(可选;参与 Sig_structure 但不出现在消息里) | |
| ecc_private_key_in_pem | No | ECC 私钥的 PEM 文本(含 BEGIN/END 头尾的 Base64 编码文本) | |
| ecc_private_key_password | No | ECC 私钥的加密密码(原始字符串,非编码格式) |