На уровне API накопительный таймаут можно активировать через флаги:
- CERT_CHAIN_REVOCATION_ACCUMULATIVE_TIMEOUT для функции CertGetCertificateChain
- CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG для функции CertVerifyRevocation
Значения по умолчанию, вот эти 15 и 20 секунд, можно изменить через реестр на Windows или через конфиг на *nix.
Windows:
URL Retrieval Timeout
Registry Location: HKLM\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CertDllCreateCertificateChainEngine\Config
Type: REG_DWORD
Name: ChainUrlRetrievalTimeoutMilliseconds
Default: Not set, effective setting is 15000 (15 seconds)
Range: 1 - 65535
Purpose: Configures the total amount of time (in milliseconds) that a client will allot for retrieving a single certificate's AIA or CDP path
Aggregate URL Retrieval Timeout
Registry Location: HKLM\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CertDllCreateCertificateChainEngine\Config
Type: REG_DWORD
Name: ChainRevAccumulativeUrlRetrievalTimeoutMilliseconds
Default: Not set, effective setting is 20000 (20 seconds)
Range: 1-65535
Purpose: Defines the maximum amount of time allotted to all URL downloads of a type.
*nix:
то же самое в конфиге:
[OID\"EncodingType 0"\CertDllCreateCertificateChainEngine\Config]
ChainUrlRetrievalTimeoutMilliseconds = 15000
ChainRevAccumulativeUrlRetrievalTimeoutMilliseconds = 20000
Можно прописывать это через cpconfig, а не руками:
/opt/cprocsp/sbin/amd64/cpconfig -ini '\Cryptography\OID\EncodingType 0\CertDllCreateCertificateChainEngine\Config' -add long ChainUrlRetrievalTimeoutMilliseconds 15000
/opt/cprocsp/sbin/amd64/cpconfig -ini '\Cryptography\OID\EncodingType 0\CertDllCreateCertificateChainEngine\Config' -add long ChainRevAccumulativeUrlRetrievalTimeoutMilliseconds 20000
Отредактировано пользователем 11 октября 2024 г. 15:36:51(UTC)
| Причина: добавил про cpconfig