From 9119e2b9bbb11b4ae21618fbaacfe6edaeb2a62b Mon Sep 17 00:00:00 2001
From: Gabriele Contini <contini.mailing@gmail.com>
Date: 周六, 15 2月 2020 23:49:50 +0800
Subject: [PATCH] pc identifiers work

---
 src/library/os/windows/signature_verifier.cpp |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/library/os/windows/signature_verifier.cpp b/src/library/os/windows/signature_verifier.cpp
index 05849b4..6e9b62d 100644
--- a/src/library/os/windows/signature_verifier.cpp
+++ b/src/library/os/windows/signature_verifier.cpp
@@ -136,13 +136,13 @@
 	DWORD status;
 	FUNCTION_RETURN result = FUNC_RET_ERROR;
 	PBYTE pbSignature = nullptr;
-	DWORD dwSigLen;
 	BYTE* sigBlob = nullptr;
 	BCRYPT_ALG_HANDLE hSignAlg = nullptr;
 
-	// FIXME!!
-	sigBlob = unbase64(signatureBuffer.c_str(), (int)signatureBuffer.size(), (int*)&dwSigLen);
-
+	vector<uint8_t> signatureBlob = unbase64(signatureBuffer);
+	DWORD dwSigLen = signatureBlob.size();
+	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;
@@ -160,7 +160,8 @@
 		} else {
 			LOG_DEBUG("Error reading public key");
 		}
-	} else {
+	}
+	else {
 		result = FUNC_RET_NOT_AVAIL;
 #ifdef _DEBUG
 		formatError(status, "error opening RSA provider");

--
Gitblit v1.9.1