SetSignProcessDigestAlgorithm

安全和签名

描述

选择签名时使用的消息摘要算法。ETSI EN 319 142-1 v1.2.1 第 6.2.1 条禁止使用 MD5,并将推荐加密套件的规定交由 ETSI TS 119 312;SHA-256 或更强算法是当前的最低要求

算法代码:

0自动。SHA-1 仅用于旧版 adbe.pkcs7.sha1 SubFilter 以保留历史字节;其他所有 SubFilter(adbe.pkcs7.detached、ETSI.CAdES.detached、自定义)默认使用 SHA-256
1SHA-1(已弃用,仅用于与旧版验证器保持兼容)
2SHA-256(PAdES-B-B 和 CMS 分离签名的推荐默认值)
3SHA-384.
4SHA-512.
5SHA3-256.
6SHA3-384.
7SHA3-512.

所选算法会反映在 PKCS#7 / CMS 负载内的 SignerInfo.digestAlgorithm OID 中,该负载会写入 /Contents:SHA-256 使用 2.16.840.1.101.3.4.2.1,SHA-384 使用 2.16.840.1.101.3.4.2.2,SHA-512 使用 2.16.840.1.101.3.4.2.3(RFC 5754),SHA3-256 使用 2.16.840.1.101.3.4.2.8,SHA3-384 使用 2.16.840.1.101.3.4.2.9,SHA3-512 使用 2.16.840.1.101.3.4.2.10,或旧版 SHA-1 使用 1.3.14.3.2.26

语法

Delphi

Function TPDFlib.SetSignProcessDigestAlgorithm(SignProcessID, DigestAlgorithm: Integer): Integer;

参数

SignProcessID由某个 NewSignProcessFrom* 函数返回的值
DigestAlgorithm算法代码 0..7,如上所述;其他任何值均返回 0

返回值

成功时为 1;进程 ID 无效或算法代码超出范围时为 0