From 0ec4d68600b83d41d2e48ad35d18e2a00f234619 Mon Sep 17 00:00:00 2001 From: gcontini <1121667+gcontini@users.noreply.github.com> Date: 周六, 21 9月 2019 01:34:22 +0800 Subject: [PATCH] Merge branch 'develop' of https://github.com/open-license-manager/open-license-manager into develop --- src/tools/base_lib/win/CryptoHelperWindows.h | 73 +++++++++++++++++++++++------------- 1 files changed, 46 insertions(+), 27 deletions(-) diff --git a/src/tools/base_lib/win/CryptoHelperWindows.h b/src/tools/base_lib/win/CryptoHelperWindows.h index 83ac21c..a432e27 100644 --- a/src/tools/base_lib/win/CryptoHelperWindows.h +++ b/src/tools/base_lib/win/CryptoHelperWindows.h @@ -1,27 +1,46 @@ -/* - * CryptoHelperWindows.h - * - * Created on: Sep 14, 2014 - * - */ - -#ifndef CRYPTOHELPERWINDOWS_H_ -#define CRYPTOHELPERWINDOWS_H_ - -#define _WIN32_WINNT 0x0400 -#include <windows.h> -#include <wincrypt.h> -#include <tchar.h> -#include "../CryptoHelper.h" - -namespace license { - -class CryptoHelperWindows: public CryptoHelper { -public: - CryptoHelperWindows(); - virtual ~CryptoHelperWindows(); -}; - -} /* namespace license */ - -#endif /* CRYPTOHELPERWINDOWS_H_ */ +/* + * CryptoHelperWindows.h + * + * Created on: Sep 14, 2014 + * + */ + +#ifndef CRYPTOHELPERWINDOWS_H_ +#define CRYPTOHELPERWINDOWS_H_ + +//#define _WIN32_WINNT 0x0400 +#include <windows.h> +#include <wincrypt.h> +#include <tchar.h> +#include <string> +#include "../CryptoHelper.h" + + + +namespace license { +using namespace std; + +class CryptoHelperWindows: public CryptoHelper { +private : + void acquireContext(); + // Handle to the cryptography provider. + HCRYPTPROV m_hCryptProv; + // Handle to the cryptography key. + HCRYPTKEY m_hCryptKey; + void printHash(HCRYPTHASH* hHash) const; +public: + CryptoHelperWindows(); + + virtual void generateKeyPair(); + virtual const string exportPrivateKey() const; + virtual const string exportPublicKey() const; + + virtual const string signString(const void* privateKey, size_t pklen, + const string& license) const; + + virtual ~CryptoHelperWindows(); +}; + +} /* namespace license */ + +#endif /* CRYPTOHELPERWINDOWS_H_ */ -- Gitblit v1.9.1