Migrate tz_backend to openssl 1.1 30/208130/3
authorKonrad Lipinski <k.lipinski2@partner.samsung.com>
Tue, 18 Jun 2019 15:05:40 +0000 (17:05 +0200)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Fri, 28 Jun 2019 14:06:36 +0000 (14:06 +0000)
Change-Id: Ib6b50de235f00c268e423cd5fd05f1b49ae0e902

src/manager/crypto/tz-backend/internals.cpp

index 8aee58a..ae67c8c 100644 (file)
@@ -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<DSA, std::function<void(DSA*)>>;
 
-CKM::RawBuffer extractBignumData(BIGNUM* bn)
+CKM::RawBuffer extractBignumData(const BIGNUM* bn)
 {
        size_t size = static_cast<size_t>(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