From 45091056927dfb30e9fef48e6ac702e0f1600fdf Mon Sep 17 00:00:00 2001 From: Konrad Lipinski Date: Tue, 18 Jun 2019 17:05:40 +0200 Subject: [PATCH] Migrate tz_backend to openssl 1.1 Change-Id: Ib6b50de235f00c268e423cd5fd05f1b49ae0e902 --- src/manager/crypto/tz-backend/internals.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/manager/crypto/tz-backend/internals.cpp b/src/manager/crypto/tz-backend/internals.cpp index 8aee58a..ae67c8c 100644 --- a/src/manager/crypto/tz-backend/internals.cpp +++ b/src/manager/crypto/tz-backend/internals.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 - 2019 Samsung Electronics Co., Ltd All Rights Reserved + * Copyright (c) 2017-2019 Samsung Electronics Co., Ltd. All rights reserved * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -40,7 +40,7 @@ namespace { using DSAPtr = std::unique_ptr>; -CKM::RawBuffer extractBignumData(BIGNUM* bn) +CKM::RawBuffer extractBignumData(const BIGNUM* bn) { size_t size = static_cast(BN_num_bytes(bn)); @@ -71,9 +71,17 @@ void generateDSAParams(const int sizeBits, CKM::RawBuffer &prime, // at this stage dsa->p, dsa->q & dsa->r should contain our params // extract them into buffers +#if OPENSSL_VERSION_NUMBER < 0x10100000L prime = extractBignumData(dsa->p); subprime = extractBignumData(dsa->q); base = extractBignumData(dsa->g); +#else + const BIGNUM *p, *q, *g; + DSA_get0_pqg(dsa.get(), &p, &q, &g); + prime = extractBignumData(p); + subprime = extractBignumData(q); + base = extractBignumData(g); +#endif } } // namespace -- 2.7.4