Программирование: DownloadTemporaryFileWithISSigVerify

Прототип

function DownloadTemporaryFileWithISSigVerify(const Url, IssigUrl, BaseName: String; const AllowedKeysRuntimeIDs: TStringList; const OnDownloadProgress: TOnDownloadProgress): Int64;

Описание

Функция аналогична DownloadTemporaryFile, но сначала с адреса URL, указанного в параметре IssigUrl, загружает файл подписи .issig, а затем использует его для проверки основного файла, загруженного с адреса URL, заданного параметром Url.

Если параметр IssigUrl – пустая строка, программа установки автоматически дополнит строку из параметра Url окончанием ".issig" (без кавычек). Полученный результат будет использоваться в качестве URL-адреса для загрузки файла подписи .issig.

Для проверки используются указанные ключи, поиск которых осуществляется по параметру RuntimeID в секции [ISSigKeys]. Чтобы разрешить использование любых ключей, установите для AllowedKeysRuntimeIDs значение nil.

В случае ошибки будет вызвано исключение. Иначе функция вернёт размер загруженных данных в байтах для основного файла. Если основной файл уже был загружен и все ещё проверяется, функция вернёт значение 0.

Пример

[Code]
function InitializeSetup: Boolean;
begin
  try
    DownloadTemporaryFileWithISSigVerify(
      'https://jrsoftware.org/download.php/myprog-extrareadmes.7z', '',
      'myprog-extrareadmes.7z', nil, nil);
    Result := True;
  except
    Log(GetExceptionMessage);
    Result := False;
  end;
end;

См. также:

DownloadTemporaryFile
.issig Signatures: Introduction
ISSigVerify