Skip to content

Commit cc32f38

Browse files
authored
Merge pull request #5 from oulinbao/master
bugfix: HMAC hash error
2 parents 5bbcec0 + 764867b commit cc32f38

3 files changed

Lines changed: 5 additions & 3 deletions

File tree

main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ void TestRequestWithBody() {
4949
shared_ptr<ConsoleLogSystem> log(cls);
5050
InitializeLogging(log);
5151

52-
HttpRequest request(URI("http://www.jdcloud-api.com/v1/regions/cn-north-1/instances?pageNumber=2&pageSize=10"), HttpMethod::HTTP_GET);
52+
HttpRequest request(URI("http://www.jdcloud-api.com/v1/regions/cn-north-1/instances"), HttpMethod::HTTP_POST);
5353
request.SetHeaderValue(CONTENT_TYPE_HEADER, "application/json");
5454
request.SetHeaderValue(USER_AGENT_HEADER, "JdcloudSdkGo/1.0.2 vm/0.7.4");
5555

src/JdcloudSigner.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,8 @@ string JdcloudSigner::GenerateSignature(const string& stringToSign, const string
311311
}
312312

313313
//now we finally sign our request string with our hex encoded derived hash.
314-
auto finalSigningHash = hashResult.GetResult();
314+
string result = hashResult.GetResult();
315+
string finalSigningHash = HashingUtils::HexEncode((unsigned char*)result.c_str(), result.length());
315316
LOGSTREAM_DEBUG(logTag, "Final computed signing hash: " << finalSigningHash);
316317

317318
return finalSigningHash;

src/util/crypto/Sha256HMAC.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ HashResult Sha256HMAC::Calculate(const string& toSign, const string& secret)
5555

5656
HMAC_CTX_cleanup(m_ctx);
5757

58-
string result = HashingUtils::HexEncode(digest, length);;
58+
string result((const char*) digest, length);
5959
free(digest);
60+
6061
return HashResult(result);
6162
}

0 commit comments

Comments
 (0)