diff options
| author | tb <> | 2018-02-17 13:47:36 +0000 |
|---|---|---|
| committer | tb <> | 2018-02-17 13:47:36 +0000 |
| commit | e1b05f77869d986a0aee6aa4076f008274e98d27 (patch) | |
| tree | f0cc2d3dd2a3842c40f792227fe86c133a668af2 /src/lib/libcrypto/dh | |
| parent | 0c7165079d7f7c944f8c516a5bb23a71b674c170 (diff) | |
| download | openbsd-e1b05f77869d986a0aee6aa4076f008274e98d27.tar.gz openbsd-e1b05f77869d986a0aee6aa4076f008274e98d27.tar.bz2 openbsd-e1b05f77869d986a0aee6aa4076f008274e98d27.zip | |
Provide further parts of the OpenSSL 1.1 API: {DH,DSA}_get0_{key,pqg}(),
EVP_PKEY_get0_{DH,DSA,RSA}(), RSA_{g,s}et0_key().
ok jsing
Diffstat (limited to 'src/lib/libcrypto/dh')
| -rw-r--r-- | src/lib/libcrypto/dh/dh.h | 6 | ||||
| -rw-r--r-- | src/lib/libcrypto/dh/dh_lib.c | 22 |
2 files changed, 26 insertions, 2 deletions
diff --git a/src/lib/libcrypto/dh/dh.h b/src/lib/libcrypto/dh/dh.h index 920af3b92d..61c7d6c873 100644 --- a/src/lib/libcrypto/dh/dh.h +++ b/src/lib/libcrypto/dh/dh.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: dh.h,v 1.18 2016/11/04 18:35:30 jsing Exp $ */ | 1 | /* $OpenBSD: dh.h,v 1.19 2018/02/17 13:47:36 tb Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -188,6 +188,10 @@ int DH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, | |||
| 188 | int DH_set_ex_data(DH *d, int idx, void *arg); | 188 | int DH_set_ex_data(DH *d, int idx, void *arg); |
| 189 | void *DH_get_ex_data(DH *d, int idx); | 189 | void *DH_get_ex_data(DH *d, int idx); |
| 190 | 190 | ||
| 191 | void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, | ||
| 192 | const BIGNUM **g); | ||
| 193 | void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key); | ||
| 194 | |||
| 191 | /* Deprecated version */ | 195 | /* Deprecated version */ |
| 192 | #ifndef OPENSSL_NO_DEPRECATED | 196 | #ifndef OPENSSL_NO_DEPRECATED |
| 193 | DH * DH_generate_parameters(int prime_len,int generator, | 197 | DH * DH_generate_parameters(int prime_len,int generator, |
diff --git a/src/lib/libcrypto/dh/dh_lib.c b/src/lib/libcrypto/dh/dh_lib.c index d45dc17168..5a54ca88da 100644 --- a/src/lib/libcrypto/dh/dh_lib.c +++ b/src/lib/libcrypto/dh/dh_lib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: dh_lib.c,v 1.22 2017/01/29 17:49:22 beck Exp $ */ | 1 | /* $OpenBSD: dh_lib.c,v 1.23 2018/02/17 13:47:36 tb Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -239,3 +239,23 @@ DH_size(const DH *dh) | |||
| 239 | { | 239 | { |
| 240 | return BN_num_bytes(dh->p); | 240 | return BN_num_bytes(dh->p); |
| 241 | } | 241 | } |
| 242 | |||
| 243 | void | ||
| 244 | DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) | ||
| 245 | { | ||
| 246 | if (p != NULL) | ||
| 247 | *p = dh->p; | ||
| 248 | if (q != NULL) | ||
| 249 | *q = dh->q; | ||
| 250 | if (g != NULL) | ||
| 251 | *g = dh->g; | ||
| 252 | } | ||
| 253 | |||
| 254 | void | ||
| 255 | DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) | ||
| 256 | { | ||
| 257 | if (pub_key != NULL) | ||
| 258 | *pub_key = dh->pub_key; | ||
| 259 | if (priv_key != NULL) | ||
| 260 | *priv_key = dh->priv_key; | ||
| 261 | } | ||
