From c536a979f5a213188ac54f5669ddf4b4ff48c218 Mon Sep 17 00:00:00 2001 From: Gabriele Contini <contini.mailing@gmail.com> Date: 周六, 07 9月 2019 22:13:32 +0800 Subject: [PATCH] Merge branch 'master' of https://github.com/open-license-manager/open-license-manager.git --- 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