From b073c90f0f540fea19867b197dbf3e4e004ef629 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 21 Jul 2018 19:02:12 -0700 Subject: [PATCH] Fix build on OpenSSL 1.0.1 --- app/backend/nvpairingmanager.cpp | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/app/backend/nvpairingmanager.cpp b/app/backend/nvpairingmanager.cpp index 9d089ef1..adfe33c0 100644 --- a/app/backend/nvpairingmanager.cpp +++ b/app/backend/nvpairingmanager.cpp @@ -87,13 +87,15 @@ NvPairingManager::getSignatureFromPemCert(QByteArray certificate) X509* cert = PEM_read_bio_X509(bio, nullptr, nullptr, nullptr); BIO_free_all(bio); -#if (OPENSSL_VERSION_NUMBER < 0x10100000L) - ASN1_BIT_STRING *asnSignature; -#else - const ASN1_BIT_STRING *asnSignature; -#endif - +#if (OPENSSL_VERSION_NUMBER < 0x10002000L) + ASN1_BIT_STRING *asnSignature = cert->signature; +#elif (OPENSSL_VERSION_NUMBER < 0x10100000L) + ASN1_BIT_STRING *asnSignature; X509_get0_signature(&asnSignature, NULL, cert); +#else + const ASN1_BIT_STRING *asnSignature; + X509_get0_signature(&asnSignature, NULL, cert); +#endif QByteArray signature(reinterpret_cast(asnSignature->data), asnSignature->length); @@ -226,13 +228,15 @@ NvPairingManager::pair(QString appVersion, QString pin) QByteArray challengeResponse; QByteArray serverResponse(challengeResponseData.data(), hashLength); - #if (OPENSSL_VERSION_NUMBER < 0x10100000L) +#if (OPENSSL_VERSION_NUMBER < 0x10002000L) + ASN1_BIT_STRING *asnSignature = m_Cert->signature; +#elif (OPENSSL_VERSION_NUMBER < 0x10100000L) ASN1_BIT_STRING *asnSignature; - #else - const ASN1_BIT_STRING *asnSignature; - #endif - X509_get0_signature(&asnSignature, NULL, m_Cert); +#else + const ASN1_BIT_STRING *asnSignature; + X509_get0_signature(&asnSignature, NULL, m_Cert); +#endif challengeResponse.append(challengeResponseData.data() + hashLength, 16); challengeResponse.append(reinterpret_cast(asnSignature->data), asnSignature->length);