From f4e683fc6bd6ac76f9979f49d737588b6ddf16b0 Mon Sep 17 00:00:00 2001 From: gcontini <1121667+gcontini@users.noreply.github.com> Date: 周六, 14 11月 2020 22:13:13 +0800 Subject: [PATCH] windows smbios --- src/library/os/windows/signature_verifier.cpp | 24 ++++++++++++------------ 1 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/library/os/windows/signature_verifier.cpp b/src/library/os/windows/signature_verifier.cpp index 5e12727..083845e 100644 --- a/src/library/os/windows/signature_verifier.cpp +++ b/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" @@ -29,7 +29,7 @@ using namespace std; #define NT_SUCCESS(Status) (((NTSTATUS)(Status)) >= 0) -static const void formatError(DWORD status, const char* description) { +static const void formatError(DWORD status, const char *description) { char msgBuffer[256]; FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, status, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), &msgBuffer[0], sizeof(msgBuffer) - 1, nullptr); @@ -67,7 +67,7 @@ cout << (len & 0x80) << endl; if ((len & 0x80) > 0) { size_t blen = len & 0x7F; - for (int i = 0; i < blen; i++) { + for (size_t i = 0; i < blen; i++) { result += (*(ptr++) << (i * 8)); } } else { @@ -99,7 +99,7 @@ if (expected_length < length) { return FUNC_RET_ERROR; } - for (int i = 0; i < length; i++) { + for (size_t i = 0; i < length; i++) { location[i] = *(ptr++); } return FUNC_RET_OK; @@ -124,7 +124,7 @@ sizeof(pubk), 0))) { result = FUNC_RET_OK; } else { -#ifdef _DEBUG +#ifndef NDEBUG formatError(status, "error importing public key"); #endif } @@ -140,8 +140,8 @@ vector<uint8_t> signatureBlob = unbase64(signatureBuffer); DWORD dwSigLen = (DWORD) signatureBlob.size(); - BYTE* sigBlob = &signatureBlob[0]; - + 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; @@ -152,7 +152,7 @@ result = FUNC_RET_OK; } else { result = FUNC_RET_ERROR; -#ifdef _DEBUG +#ifndef NDEBUG formatError(status, "error verifying signature"); #endif } @@ -162,7 +162,7 @@ } else { result = FUNC_RET_NOT_AVAIL; -#ifdef _DEBUG +#ifndef NDEBUG formatError(status, "error opening RSA provider"); #endif } @@ -207,13 +207,13 @@ result = verifyHash(pbHashData, cbHashDataLenght, signatureB64); } else { result = FUNC_RET_NOT_AVAIL; -#ifdef _DEBUG +#ifndef NDEBUG formatError(status, "error hashing data"); #endif } } else { result = FUNC_RET_NOT_AVAIL; -#ifdef _DEBUG +#ifndef NDEBUG formatError(status, "error creating hash"); #endif } @@ -223,7 +223,7 @@ } } else { result = FUNC_RET_NOT_AVAIL; -#ifdef _DEBUG +#ifndef NDEBUG formatError(status, "**** Error returned by BCryptGetProperty"); #endif } -- Gitblit v1.9.1