Запись 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 длиной не меньше выхода хеша подписи; default true |
Default | Классовая функция, возвращающая политику с перечисленными выше значениями по умолчанию |
Примечания по использованию
- Подключайте политику через
THPDFCertificateValidationOptions.AlgorithmPolicy; нарушение валит цепочку сcvsAlgorithmRejectedи заполняетAlgorithmConstraintIssue - Проверки размера ключа покрывают каждый сертификат цепочки, а проверки схемы подписи пропускают trust anchor, чью подпись никто не верифицирует
- Диагностика в
THPDFCertificateValidationInfoсообщает найденные минимальные размеры RSA и ECDSA и то, использовал ли какой-либо сертификат SHA-1