THPDFCertificateAlgorithmPolicy 记录
配置证书路径验证接受哪些证书密钥和签名算法
声明
THPDFCertificateAlgorithmPolicy= record
MinimumRSAKeyBits: Integer;
MinimumECDSACurveBits: Integer;
SHA1SunsetTime: TDateTime;
RSAPKCS1v15SunsetTime: TDateTime;
AllowRSAPKCS1v15: boolean;
AllowRSAPSS: boolean;
AllowECDSA: boolean;
AllowEdDSA: boolean;
RequirePSSSaltAtLeastHashLength: boolean;
class function Default: THPDFCertificateAlgorithmPolicy; static;
end;
单元
HPDFSignVerify
字段
| 字段 | 用途 |
|---|---|
MinimumRSAKeyBits | 路径中证书可接受的最小 RSA 密钥位数;0 表示关闭检查;默认 2048 |
MinimumECDSACurveBits | 路径中证书可接受的最小 ECDSA 曲线位数;0 表示关闭检查;默认 256 |
SHA1SunsetTime | 自该评估时间起(含)拒绝 SHA-1 证书签名;0 表示不启用日落限制;默认 2016-01-01 |
RSAPKCS1v15SunsetTime | 自该评估时间起(含)拒绝 RSA PKCS#1 v1.5 证书签名;0 表示不启用日落限制;默认 0 |
AllowRSAPKCS1v15 | 是否接受 RSA PKCS#1 v1.5 证书签名;默认 true |
AllowRSAPSS | 是否接受 RSA-PSS 证书签名;默认 true |
AllowECDSA | 是否接受 ECDSA 证书密钥和签名;默认 true |
AllowEdDSA | 是否接受 Ed25519 和 Ed448 证书密钥;默认 true |
RequirePSSSaltAtLeastHashLength | 要求 RSA-PSS salt 长度至少等于签名哈希输出长度;默认 true |
Default | 类函数,返回带上述默认值的策略 |
使用说明
- 通过
THPDFCertificateValidationOptions.AlgorithmPolicy挂接策略;违反时路径以cvsAlgorithmRejected失败,并填充AlgorithmConstraintIssue - 密钥长度检查覆盖路径中的每张证书,而签名方案检查会跳过信任锚,因为没有任何东西去验证它的签名
THPDFCertificateValidationInfo的诊断信息会报告发现的最弱 RSA 和 ECDSA 位数,以及是否有证书使用了 SHA-1