Подписание RSA-PSS
HotPDF умеет создавать подписи RSASSA-PSS SHA-2 и SHA-3 через переносимую RSA-реализацию, переданный вызывающей стороной signing callback, signature provider или приватный ключ Windows-сертификата на базе CNG
Опции CMS
Options := HPDFCMSDefaultOptions;
Options.DigestAlgorithm := cmsdaSHA3_384;
Options.SignatureScheme := cmsRSAPSS;
Options.PSSSaltLength := 48;
HPDFCMSBuildSignedDataEx записывает полный набор параметров RSASSA-PSS: выбранный digest, соответствующий digest MGF1, выбранную длину salt и trailer field 1
Callback SignDigest получает выбранный digest закодированных signed attributes и должен вернуть подпись, соответствующую DigestAlgorithm, SignatureScheme и PSSSaltLength
Подписание Windows-сертификатом
SignPDFWithSystemCertificate передаёт выбранный digest SHA-2 или SHA-3 и опции RSA-PSS в приватные ключи CNG, не экспортируя материал приватного ключа
Запрошенный digest должен поддерживаться версией Windows и выбранным CNG key-storage provider
Устаревшие ключи CryptoAPI явно отклоняют RSA-PSS, поскольку тот провайдерный путь не может безопасно представить параметры padding PSS
Переносимые RSA helpers
HPDFRSABuildEMSAPSSсоздаёт детерминированное EMSA-PSS-кодированное сообщение для выбранногоTHPDFRSAHashAlgorithmиз переданной saltHPDFRSASignPSSWithSaltподдерживает воспроизводимые фикстуры и специализированные интеграции подписантов для SHA-2 и SHA-3HPDFRSASignPSSберёт salt из криптографического источника случайных чисел платформы- Helper'ы с суффиксом
SHA256остаются compatibility-обёртками