/*
- * 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.
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));
// 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