Patch level : 12.0 no-patch

Files correlati     : include
Commento            : Aggiunta verifica firma
This commit is contained in:
Sirio Builder 2019-11-28 11:04:32 +01:00
parent 764c9d052a
commit 48e829d621
2 changed files with 10 additions and 6 deletions

View File

@ -278,14 +278,17 @@ bool input_filename(TFilename& file)
return good;
}
void sirio_codesigning(const TFilename& filename)
BOOLEAN sirio_codesigning(const TFilename& filename, bool verify)
{
const char * const default_sign = R"("C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\signtool.exe" sign /a /s MY /n "Sirio Informatica e Sistemi SPA" /t http://timestamp.verisign.com/scripts/timstamp.dll /v)";
const char * const default_verify = R"("C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\signtool.exe" verify /a /pa /v)";
TConfig installini("install.ini", "Main");
TString command = installini.get("SirioSignCommand", nullptr, -1, "");
TString command = installini.get(!verify ? "SirioSignCommand" : "SirioSignVerifyCommand", nullptr, -1, "");
if (command.empty())
command << R"("C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\signtool.exe" sign /a /s MY /n "Sirio Informatica e Sistemi SPA" /t http://timestamp.verisign.com/scripts/timstamp.dll /v)";
command << !verify ? default_sign : default_verify;
command << " \"" << filename.path() << static_cast<const char*>((const TFilename&)filename) << "\"";
xvt_sys_execute(command, TRUE, FALSE);
const int exit = xvt_sys_execute(command, TRUE, FALSE);
return exit == 0 || exit == 2; // Execution was successful [0] OR Execution has completed with warnings [2]
}
// Certified 99%

View File

@ -20,8 +20,9 @@
#define SAFE_DELETE(p) { delete p; p = NULL; }
#define DEBUG_ENABLED is_debug_station()
void sirio_codesigning(const TFilename& filename);
#define SIRIOSIGN(filename) sirio_codesigning((const TFilename&)((filename)))
BOOLEAN sirio_codesigning(const TFilename& filename, bool verify = false);
#define SIRIOSIGN(filename) sirio_codesigning((const TFilename&)((filename)), false)
#define SIRIOSIGN_VERIFY(filename) sirio_codesigning((const TFilename&)((filename)), true)
class TPerformance_profiler : public TObject