From 5001733767c4bc8a82029acee897eba304fe84f6 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 5 May 2018 16:09:40 -0700 Subject: [PATCH] Properly fix OpenSSL 1.0.2 and 1.1.0 differences in X509_get0_signature() --- nvpairingmanager.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/nvpairingmanager.cpp b/nvpairingmanager.cpp index 30e03b74..4b6bd534 100644 --- a/nvpairingmanager.cpp +++ b/nvpairingmanager.cpp @@ -96,7 +96,12 @@ NvPairingManager::getSignatureFromPemCert(QByteArray certificate) X509* cert = PEM_read_bio_X509(bio, nullptr, nullptr, nullptr); BIO_free_all(bio); - const ASN1_BIT_STRING *asnSignature; +#if (OPENSSL_VERSION_NUMBER < 0x10100000L) + ASN1_BIT_STRING *asnSignature; +#else + const ASN1_BIT_STRING *asnSignature; +#endif + X509_get0_signature(&asnSignature, NULL, cert); QByteArray signature(reinterpret_cast(asnSignature->data), asnSignature->length); @@ -230,7 +235,12 @@ NvPairingManager::pair(QString serverInfo, QString pin) QByteArray challengeResponse; QByteArray serverResponse(challengeResponseData.data(), hashLength); + #if (OPENSSL_VERSION_NUMBER < 0x10100000L) + ASN1_BIT_STRING *asnSignature; + #else const ASN1_BIT_STRING *asnSignature; + #endif + X509_get0_signature(&asnSignature, NULL, m_Cert); challengeResponse.append(challengeResponseData.data() + hashLength, 16);