remove redundant cast from Crypt::verifySignatureBase64
This commit is contained in:
parent
3c41e4212c
commit
f9f88d761f
|
|
@ -112,22 +112,12 @@ Crypt__verifySignatureBase64_t Crypt__verifySignatureBase64 = (Crypt__verifySign
|
||||||
// Crypt::verifySignatureBase64(std::string message, std::string signatureBase64)
|
// Crypt::verifySignatureBase64(std::string message, std::string signatureBase64)
|
||||||
void __fastcall Crypt__verifySignatureBase64_hook(HCRYPTPROV* _this, void*, int a2, BYTE* pbData, int a4, int a5, int a6, DWORD dwDataLen, int a8, int a9, int a10, int a11, int a12, int a13, int a14, int a15)
|
void __fastcall Crypt__verifySignatureBase64_hook(HCRYPTPROV* _this, void*, int a2, BYTE* pbData, int a4, int a5, int a6, DWORD dwDataLen, int a8, int a9, int a10, int a11, int a12, int a13, int a14, int a15)
|
||||||
{
|
{
|
||||||
/*
|
// We have to reconstruct the parameters by hand since using the original function signature causes crashes
|
||||||
Ideally, we would be able to just use the function signature as-is.
|
|
||||||
However, it causes inexplicable crashes. Thus, we must reconstruct
|
|
||||||
the strings by hand given the manual parameters.
|
|
||||||
*/
|
|
||||||
|
|
||||||
std::string message;
|
std::string message;
|
||||||
std::string signatureBase64;
|
std::string signatureBase64;
|
||||||
|
|
||||||
// Get message
|
// Get message
|
||||||
const BYTE* v18 = pbData;
|
|
||||||
if ((unsigned int)a8 < 0x10)
|
|
||||||
{
|
|
||||||
v18 = (const BYTE*)&pbData;
|
|
||||||
}
|
|
||||||
|
|
||||||
message = std::string(reinterpret_cast<const char*>(pbData), dwDataLen);
|
message = std::string(reinterpret_cast<const char*>(pbData), dwDataLen);
|
||||||
|
|
||||||
// Get signatureBase64
|
// Get signatureBase64
|
||||||
|
|
@ -142,7 +132,7 @@ void __fastcall Crypt__verifySignatureBase64_hook(HCRYPTPROV* _this, void*, int
|
||||||
// Verify signature
|
// Verify signature
|
||||||
if (!Crypt().verifySignatureBase64(message, signatureBase64, CALG_SHA_256))
|
if (!Crypt().verifySignatureBase64(message, signatureBase64, CALG_SHA_256))
|
||||||
{
|
{
|
||||||
// backwards compatibility for sha1 signatures
|
// Backwards compatibility for sha1 signatures
|
||||||
if (!Crypt().verifySignatureBase64(message, signatureBase64, CALG_SHA1))
|
if (!Crypt().verifySignatureBase64(message, signatureBase64, CALG_SHA1))
|
||||||
{
|
{
|
||||||
throw std::runtime_error("");
|
throw std::runtime_error("");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue