view cinst/windowsstore.h @ 676:cb40af11ec3a

Obtain privileges required for registry modification
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 30 Jun 2014 11:25:40 +0200
parents 17e1c8f37d72
children
line wrap: on
line source
/* 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.
 */
#ifdef WIN32
#ifndef WINDOWSSTORE_H
#define WINDOWSSTORE_H

#ifdef __cplusplus
extern "C" {
#endif

#include <windows.h>
#include <wincrypt.h>

#include <stdbool.h>

/** @brief Access the Windows certificate store
 *
 * If the process is running with elevated rights this function
 * will write into the system store. User store is written otherwise.
 *
 * @param [in] to_install strv of DER encoded certificates to be added.
 * @param [in] to_remove strv of DER encoded certificates to be remvoed.
 * @returns 0 on success an errorcode otherwise.
 */
int write_stores_win (char **to_install, char **to_remove);

/* The do_ functions are private helper functions and should not be used
 * from other code. They are not static to allow it to use them directly
 * in unit tests */
void do_remove(HCERTSTORE hStore, char **to_remove);
void do_install(HCERTSTORE hStore, char **to_install);

#ifdef __cplusplus
}
#endif

#endif // WINDOWSSTORE_H
#endif // WIN32

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