summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/dsa/dsa_ossl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/dsa/dsa_ossl.c')
-rw-r--r--src/lib/libcrypto/dsa/dsa_ossl.c37
1 files changed, 36 insertions, 1 deletions
diff --git a/src/lib/libcrypto/dsa/dsa_ossl.c b/src/lib/libcrypto/dsa/dsa_ossl.c
index a242291a62..fd5fac64bb 100644
--- a/src/lib/libcrypto/dsa/dsa_ossl.c
+++ b/src/lib/libcrypto/dsa/dsa_ossl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dsa_ossl.c,v 1.47 2023/01/11 04:39:42 jsing Exp $ */ 1/* $OpenBSD: dsa_ossl.c,v 1.48 2023/02/13 09:21:35 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 *
@@ -433,3 +433,38 @@ dsa_finish(DSA *dsa)
433 BN_MONT_CTX_free(dsa->method_mont_p); 433 BN_MONT_CTX_free(dsa->method_mont_p);
434 return 1; 434 return 1;
435} 435}
436
437DSA_SIG *
438DSA_SIG_new(void)
439{
440 return calloc(1, sizeof(DSA_SIG));
441}
442
443void
444DSA_SIG_free(DSA_SIG *sig)
445{
446 if (sig == NULL)
447 return;
448
449 BN_free(sig->r);
450 BN_free(sig->s);
451 free(sig);
452}
453
454int
455DSA_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp)
456{
457 return dsa->meth->dsa_sign_setup(dsa, ctx_in, kinvp, rp);
458}
459
460DSA_SIG *
461DSA_do_sign(const unsigned char *dgst, int dlen, DSA *dsa)
462{
463 return dsa->meth->dsa_do_sign(dgst, dlen, dsa);
464}
465
466int
467DSA_do_verify(const unsigned char *dgst, int dgst_len, DSA_SIG *sig, DSA *dsa)
468{
469 return dsa->meth->dsa_do_verify(dgst, dgst_len, sig, dsa);
470}