Gabriele Contini
2020-03-15 36ce07093b68b07513149577c209ae7a57ab356b
src/library/os/windows/signature_verifier.cpp
@@ -15,7 +15,7 @@
#include <wincrypt.h>
#include <iphlpapi.h>
#include <windows.h>
#pragma comment(lib, "bcrypt.lib")
//#pragma comment(lib, "bcrypt.lib")
#include <public_key.h>
#include "../../base/logger.h"
@@ -136,13 +136,12 @@
   DWORD status;
   FUNCTION_RETURN result = FUNC_RET_ERROR;
   PBYTE pbSignature = nullptr;
   BYTE* sigBlob = nullptr;
   BCRYPT_ALG_HANDLE hSignAlg = nullptr;
   vector<uint8_t> signatureBlob = unbase64(signatureBuffer);
   DWORD dwSigLen = signatureBlob.size();
   sigBlob = &signatureBlob[0];
   DWORD dwSigLen = (DWORD) signatureBlob.size();
   BYTE* sigBlob = &signatureBlob[0];
   if (NT_SUCCESS(status = BCryptOpenAlgorithmProvider(&hSignAlg, BCRYPT_RSA_ALGORITHM, NULL, 0))) {
      if ((result = readPublicKey(hSignAlg, &phKey)) == FUNC_RET_OK) {
         BCRYPT_PKCS1_PADDING_INFO paddingInfo;
@@ -174,9 +173,9 @@
   if (hSignAlg != nullptr) {
      BCryptCloseAlgorithmProvider(hSignAlg, 0);
   }
   if (sigBlob) {
      free(sigBlob);
   }
   //if (sigBlob) {
   //   free(sigBlob);
   //}
   return result;
}