1 /* 2 * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. 3 * 4 * Licensed under the OpenSSL license (the "License"). You may not use 5 * this file except in compliance with the License. You can obtain a copy 6 * in the file LICENSE in the source distribution or at 7 * https://www.openssl.org/source/license.html 8 */ 9 10 /* This file contains deprecated functions as wrappers to the new ones */ 11 12 #include <openssl/opensslconf.h> 13 #if OPENSSL_API_COMPAT >= 0x00908000L 14 NON_EMPTY_TRANSLATION_UNIT 15 #else 16 17 # include <stdio.h> 18 # include "internal/cryptlib.h" 19 # include <openssl/bn.h> 20 # include <openssl/dh.h> 21 22 DH *DH_generate_parameters(int prime_len, int generator, 23 void (*callback) (int, int, void *), void *cb_arg) 24 { 25 BN_GENCB *cb; 26 DH *ret = NULL; 27 28 if ((ret = DH_new()) == NULL) 29 return NULL; 30 cb = BN_GENCB_new(); 31 if (cb == NULL) { 32 DH_free(ret); 33 return NULL; 34 } 35 36 BN_GENCB_set_old(cb, callback, cb_arg); 37 38 if (DH_generate_parameters_ex(ret, prime_len, generator, cb)) { 39 BN_GENCB_free(cb); 40 return ret; 41 } 42 BN_GENCB_free(cb); 43 DH_free(ret); 44 return NULL; 45 } 46 #endif 47