From 4faadd232890a13335b1bbe750c2115e8dcda3ca Mon Sep 17 00:00:00 2001 From: Gandalf86 Date: Sun, 7 Oct 2018 12:40:23 +0200 Subject: [PATCH] Upgrade to OpenSSL 1.1 --- c++/paymentrequest-create.cpp | 28 ++++++++++++++-------------- c++/paymentrequest-dump.cpp | 10 +++++----- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/c++/paymentrequest-create.cpp b/c++/paymentrequest-create.cpp index 5fdbc8c..0f1f9c7 100644 --- a/c++/paymentrequest-create.cpp +++ b/c++/paymentrequest-create.cpp @@ -178,16 +178,16 @@ bool decode_base58(const string& btcaddress, unsigned char& version, string& has unsigned char decoded[25]; size_t nBytes = 0; - BIGNUM bn58, bn, bnChar; + BIGNUM *bn58, *bn, *bnChar; BN_CTX *ctx; ctx = BN_CTX_new(); - BN_init(&bn58); - BN_init(&bn); - BN_init(&bnChar); + bn58 = BN_new(); + bn = BN_new(); + bnChar = BN_new(); - BN_set_word(&bn58, 58); - BN_set_word(&bn, 0); + BN_set_word(bn58, 58); + BN_set_word(bn, 0); for (unsigned int i = 0; i < btcaddress.length(); i++) { const char *p1 = strchr(base58_chars, btcaddress[i]); @@ -195,23 +195,23 @@ bool decode_base58(const string& btcaddress, unsigned char& version, string& has goto out; } - BN_set_word(&bnChar, p1 - base58_chars); + BN_set_word(bnChar, p1 - base58_chars); - assert(BN_mul(&bn, &bn, &bn58, ctx)); - assert(BN_add(&bn, &bn, &bnChar)); + assert(BN_mul(bn, bn, bn58, ctx)); + assert(BN_add(bn, bn, bnChar)); } - nBytes = BN_num_bytes(&bn); + nBytes = BN_num_bytes(bn); if (nBytes == 0 || nBytes > 25) return false; std::fill(decoded, decoded+25, (unsigned char)0); - BN_bn2bin(&bn, &decoded[25-nBytes]); + BN_bn2bin(bn, &decoded[25-nBytes]); out: - BN_clear_free(&bn58); - BN_clear_free(&bn); - BN_clear_free(&bnChar); + BN_clear_free(bn58); + BN_clear_free(bn); + BN_clear_free(bnChar); BN_CTX_free(ctx); version = decoded[0]; diff --git a/c++/paymentrequest-dump.cpp b/c++/paymentrequest-dump.cpp index d20e400..e5780e0 100644 --- a/c++/paymentrequest-dump.cpp +++ b/c++/paymentrequest-dump.cpp @@ -133,12 +133,12 @@ int main(int argc, char **argv) { request.SerializeToString(&data_to_verify); request.set_signature(signature); - EVP_MD_CTX ctx; + EVP_MD_CTX* ctx; EVP_PKEY *pubkey = X509_get_pubkey(signing_cert); - EVP_MD_CTX_init(&ctx); - if (!EVP_VerifyInit_ex(&ctx, digestAlgorithm, NULL) || - !EVP_VerifyUpdate(&ctx, data_to_verify.data(), data_to_verify.size()) || - !EVP_VerifyFinal(&ctx, (const unsigned char*)signature.data(), signature.size(), pubkey)) { + ctx = EVP_MD_CTX_new(); + if (!EVP_VerifyInit_ex(ctx, digestAlgorithm, NULL) || + !EVP_VerifyUpdate(ctx, data_to_verify.data(), data_to_verify.size()) || + !EVP_VerifyFinal(ctx, (const unsigned char*)signature.data(), signature.size(), pubkey)) { printf("Bad signature, invalid PaymentRequest.\n"); }