view cinst/windowsstore.h @ 222:53ea9b975d1c

Cleanup windowsstore.c The cause for the test failure was that ADD_ALWAYS did not add a duplicate in the Root store but did add a duplicate in the Memory Store. We now check if the certificate is already in the store before actually installing it.
author Andre Heinecke <aheinecke@intevation.de>
date Thu, 27 Mar 2014 14:16:22 +0000
parents 57bef180d560
children 4de97f74d038
line wrap: on
line source
#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
 *
 * @param [in] to_install strv of DER encoded certificates to be added.
 * @param [in] to_remove strv of DER encoded certificates to be remvoed.
 * @param [in] user_store set to True if the certificates should be installed
 *             only for the current user. O for system wide installation.
 * @returns 0 on success an errorcode otherwise.
 */
int write_stores_win (char **to_install, char **to_remove,
                      bool user_store);

/* 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/