view common/selftest.h @ 1119:5349e2354c48

(issue54) Merge branch runafterinstall There is now an NSIS Plugin that executes the Software after installation using COM in the shell of the current user. With the way over the shell there is no inheritance / token management required. As it is impossible to drop all privileges of a token granted by UAC and still be able to reelevate the Token again with another RunAs call later this round trip over the Shell was necessary.
author Andre Heinecke <andre.heinecke@intevation.de>
date Tue, 16 Sep 2014 19:48:22 +0200
parents 78798d3af8f0
children 28885e8c891f
line wrap: on
line source
#ifndef COMMON_SELFTEST_H
#define COMMON_SELFTEST_H
/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU GPL (v>=2)
 * and comes with ABSOLUTELY NO WARRANTY!
 * See LICENSE.txt for details.
 */

/** 
 * @file selftest.h 
 * @brief self test against manipulation
 *
 * The selftest is intended to detect untargeted manipulation or
 * corruption of the executable. Circumvention of the selftest
 * by targeted manipulation of the binary can, of course, not
 * be detected.
 */

#include <stdbool.h>

#ifdef __cplusplus
extern "C" {
#endif
/** @brief check that the current process is signed by the correct certificate
 *
 * Checks that the certificate is signed with a valid signature and the
 * builtin public certificate.
 *
 * @returns true if the selftest is successful. false on error.
 */
bool selftest();

#ifdef __cplusplus
}
#endif
#endif // COMMON_SELFTEST_H

http://wald.intevation.org/projects/trustbridge/