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 |
|---|---|
| 1 | SHA-1(已弃用,仅用于与旧版验证器保持兼容) |
| 2 | SHA-256(PAdES-B-B 和 CMS 分离签名的推荐默认值) |
| 3 | SHA-384. |
| 4 | SHA-512. |
| 5 | SHA3-256. |
| 6 | SHA3-384. |
| 7 | SHA3-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