summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/dsa
diff options
context:
space:
mode:
authortb <>2018-02-17 13:47:36 +0000
committertb <>2018-02-17 13:47:36 +0000
commite1b05f77869d986a0aee6aa4076f008274e98d27 (patch)
treef0cc2d3dd2a3842c40f792227fe86c133a668af2 /src/lib/libcrypto/dsa
parent0c7165079d7f7c944f8c516a5bb23a71b674c170 (diff)
downloadopenbsd-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/dsa')
-rw-r--r--src/lib/libcrypto/dsa/dsa.h6
-rw-r--r--src/lib/libcrypto/dsa/dsa_lib.c22
2 files changed, 26 insertions, 2 deletions
diff --git a/src/lib/libcrypto/dsa/dsa.h b/src/lib/libcrypto/dsa/dsa.h
index 6ddd4c35d5..f990ad52f0 100644
--- a/src/lib/libcrypto/dsa/dsa.h
+++ b/src/lib/libcrypto/dsa/dsa.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: dsa.h,v 1.22 2016/11/04 18:35:30 jsing Exp $ */ 1/* $OpenBSD: dsa.h,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 *
@@ -257,6 +257,10 @@ int DSA_print_fp(FILE *bp, const DSA *x, int off);
257DH *DSA_dup_DH(const DSA *r); 257DH *DSA_dup_DH(const DSA *r);
258#endif 258#endif
259 259
260void DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q,
261 const BIGNUM **g);
262void DSA_get0_key(const DH *d, const BIGNUM **pub_key, const BIGNUM **priv_key);
263
260#define EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits) \ 264#define EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits) \
261 EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ 265 EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \
262 EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL) 266 EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL)
diff --git a/src/lib/libcrypto/dsa/dsa_lib.c b/src/lib/libcrypto/dsa/dsa_lib.c
index 58af74889c..ae9155c9f8 100644
--- a/src/lib/libcrypto/dsa/dsa_lib.c
+++ b/src/lib/libcrypto/dsa/dsa_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dsa_lib.c,v 1.23 2017/01/29 17:49:22 beck Exp $ */ 1/* $OpenBSD: dsa_lib.c,v 1.24 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 *
@@ -303,3 +303,23 @@ err:
303 return NULL; 303 return NULL;
304} 304}
305#endif 305#endif
306
307void
308DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
309{
310 if (p != NULL)
311 *p = d->p;
312 if (q != NULL)
313 *q = d->q;
314 if (g != NULL)
315 *g = d->g;
316}
317
318void
319DSA_get0_key(const DSA *d, const BIGNUM **pub_key, const BIGNUM **priv_key)
320{
321 if (pub_key != NULL)
322 *pub_key = d->pub_key;
323 if (priv_key != NULL)
324 *priv_key = d->priv_key;
325}