Это проблема, которая возникает у меня с конкретным пакетом, но похоже, что программное обеспечение использует версию CURL для Windows или что-то в этом роде. Я хочу понять это конкретное поведение, потому что для меня это не имеет смысла.
Я использую это программное обеспечение, которое представляет собой специальный дистрибутив clamav для Windows: https://oss.netfarm.it/clamav/
Конкретно эта версия: https://oss.netfarm.it/clamav/files/clamav-x64-0.102.1.7z
Я вызываю exe в этом пакете: & 'c:\clamav\freshclam.exe'
И я получаю следующую ошибку:
Trying again in 5 secs...
daily database available for download (remote version: 25759)
ERROR: Download failed (60) ERROR: Message: SSL peer certificate or SSH remote key was not OK
ERROR: getcvd: Can't download daily.cvd from https://database.clamav.net/daily.cvd
Giving up on https://database.clamav.net...
ERROR: Update failed for database: daily
WARNING: fc_update_databases: fc_update_database failed: Connection failed (5)
ERROR: Database update process failed: Connection failed (5)
ERROR: Update failed.
Не понимаю, потому что я могу получить доступ к этому URL без проблем. Затем я обнаружил, что если я сначала запускаю HEAD по этому URL-адресу, прежде чем запускать exe, он работает:
Invoke-WebRequest -Uri 'https://database.clamav.net/daily.cvd' -Method HEAD
# Now this will work
& 'c:\clamav\freshclam.exe'
Я думаю, они могли неправильно реализовать curl-библиотеки или что-то в этом роде? Я не понимаю, что могло вообще вызвать это. Выполняет ли invoke-webquest извлечение и кеш-сертификаты, но curl (или приложения, использующие его) этого не делает?