Вот нашел вроде бы такое решение:
Создаем подпись приватным ключом (на свой стороне) , заливаем signature MyFile.sign и MyFile.Dat
openssl dgst -sha256 -sign private_key.pem -out MyFile.sign MyFile.dat
Так (ну алгоритмически) првоеряет апдетйер
openssl dgst -sha256 -verify public_key.pem -signature MyFile.sign MyFile.dat
Приватный ключ хранится у нас, публичный зашивается в апдейтер. Таким образом злоумышленник даже проникнув на сервер обновлений не сможет подписать файлы, т.к. апдейтер не пропустит их.
Тут сходу решаются и остальные проблемы с подменой сервера , mitm и прочим.