summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/dsa/dsa_asn1.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/dsa/dsa_asn1.c')
-rw-r--r--src/lib/libcrypto/dsa/dsa_asn1.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/lib/libcrypto/dsa/dsa_asn1.c b/src/lib/libcrypto/dsa/dsa_asn1.c
index 70a826ca95..5e4f882cfc 100644
--- a/src/lib/libcrypto/dsa/dsa_asn1.c
+++ b/src/lib/libcrypto/dsa/dsa_asn1.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dsa_asn1.c,v 1.30 2023/03/25 09:09:28 tb Exp $ */ 1/* $OpenBSD: dsa_asn1.c,v 1.31 2023/07/08 14:28:15 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -126,12 +126,14 @@ d2i_DSA_SIG(DSA_SIG **a, const unsigned char **in, long len)
126 return (DSA_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 126 return (DSA_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
127 &DSA_SIG_it); 127 &DSA_SIG_it);
128} 128}
129LCRYPTO_ALIAS(d2i_DSA_SIG);
129 130
130int 131int
131i2d_DSA_SIG(const DSA_SIG *a, unsigned char **out) 132i2d_DSA_SIG(const DSA_SIG *a, unsigned char **out)
132{ 133{
133 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DSA_SIG_it); 134 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DSA_SIG_it);
134} 135}
136LCRYPTO_ALIAS(i2d_DSA_SIG);
135 137
136void 138void
137DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps) 139DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps)
@@ -141,6 +143,7 @@ DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps)
141 if (ps != NULL) 143 if (ps != NULL)
142 *ps = sig->s; 144 *ps = sig->s;
143} 145}
146LCRYPTO_ALIAS(DSA_SIG_get0);
144 147
145int 148int
146DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s) 149DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s)
@@ -155,6 +158,7 @@ DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s)
155 158
156 return 1; 159 return 1;
157} 160}
161LCRYPTO_ALIAS(DSA_SIG_set0);
158 162
159/* Override the default free and new methods */ 163/* Override the default free and new methods */
160static int 164static int
@@ -243,12 +247,14 @@ d2i_DSAPrivateKey(DSA **a, const unsigned char **in, long len)
243 return (DSA *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 247 return (DSA *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
244 &DSAPrivateKey_it); 248 &DSAPrivateKey_it);
245} 249}
250LCRYPTO_ALIAS(d2i_DSAPrivateKey);
246 251
247int 252int
248i2d_DSAPrivateKey(const DSA *a, unsigned char **out) 253i2d_DSAPrivateKey(const DSA *a, unsigned char **out)
249{ 254{
250 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DSAPrivateKey_it); 255 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DSAPrivateKey_it);
251} 256}
257LCRYPTO_ALIAS(i2d_DSAPrivateKey);
252 258
253static const ASN1_AUX DSAparams_aux = { 259static const ASN1_AUX DSAparams_aux = {
254 .app_data = NULL, 260 .app_data = NULL,
@@ -299,36 +305,42 @@ d2i_DSAparams(DSA **a, const unsigned char **in, long len)
299 return (DSA *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 305 return (DSA *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
300 &DSAparams_it); 306 &DSAparams_it);
301} 307}
308LCRYPTO_ALIAS(d2i_DSAparams);
302 309
303int 310int
304i2d_DSAparams(const DSA *a, unsigned char **out) 311i2d_DSAparams(const DSA *a, unsigned char **out)
305{ 312{
306 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DSAparams_it); 313 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DSAparams_it);
307} 314}
315LCRYPTO_ALIAS(i2d_DSAparams);
308 316
309DSA * 317DSA *
310d2i_DSAparams_bio(BIO *bp, DSA **a) 318d2i_DSAparams_bio(BIO *bp, DSA **a)
311{ 319{
312 return ASN1_item_d2i_bio(&DSAparams_it, bp, a); 320 return ASN1_item_d2i_bio(&DSAparams_it, bp, a);
313} 321}
322LCRYPTO_ALIAS(d2i_DSAparams_bio);
314 323
315int 324int
316i2d_DSAparams_bio(BIO *bp, DSA *a) 325i2d_DSAparams_bio(BIO *bp, DSA *a)
317{ 326{
318 return ASN1_item_i2d_bio(&DSAparams_it, bp, a); 327 return ASN1_item_i2d_bio(&DSAparams_it, bp, a);
319} 328}
329LCRYPTO_ALIAS(i2d_DSAparams_bio);
320 330
321DSA * 331DSA *
322d2i_DSAparams_fp(FILE *fp, DSA **a) 332d2i_DSAparams_fp(FILE *fp, DSA **a)
323{ 333{
324 return ASN1_item_d2i_fp(&DSAparams_it, fp, a); 334 return ASN1_item_d2i_fp(&DSAparams_it, fp, a);
325} 335}
336LCRYPTO_ALIAS(d2i_DSAparams_fp);
326 337
327int 338int
328i2d_DSAparams_fp(FILE *fp, DSA *a) 339i2d_DSAparams_fp(FILE *fp, DSA *a)
329{ 340{
330 return ASN1_item_i2d_fp(&DSAparams_it, fp, a); 341 return ASN1_item_i2d_fp(&DSAparams_it, fp, a);
331} 342}
343LCRYPTO_ALIAS(i2d_DSAparams_fp);
332 344
333static const ASN1_AUX DSAPublicKey_aux = { 345static const ASN1_AUX DSAPublicKey_aux = {
334 .app_data = NULL, 346 .app_data = NULL,
@@ -385,18 +397,21 @@ d2i_DSAPublicKey(DSA **a, const unsigned char **in, long len)
385 return (DSA *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 397 return (DSA *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
386 &DSAPublicKey_it); 398 &DSAPublicKey_it);
387} 399}
400LCRYPTO_ALIAS(d2i_DSAPublicKey);
388 401
389int 402int
390i2d_DSAPublicKey(const DSA *a, unsigned char **out) 403i2d_DSAPublicKey(const DSA *a, unsigned char **out)
391{ 404{
392 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DSAPublicKey_it); 405 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DSAPublicKey_it);
393} 406}
407LCRYPTO_ALIAS(i2d_DSAPublicKey);
394 408
395DSA * 409DSA *
396DSAparams_dup(DSA *dsa) 410DSAparams_dup(DSA *dsa)
397{ 411{
398 return ASN1_item_dup(&DSAparams_it, dsa); 412 return ASN1_item_dup(&DSAparams_it, dsa);
399} 413}
414LCRYPTO_ALIAS(DSAparams_dup);
400 415
401int 416int
402DSA_sign(int type, const unsigned char *dgst, int dlen, unsigned char *sig, 417DSA_sign(int type, const unsigned char *dgst, int dlen, unsigned char *sig,
@@ -422,6 +437,7 @@ DSA_sign(int type, const unsigned char *dgst, int dlen, unsigned char *sig,
422 437
423 return ret; 438 return ret;
424} 439}
440LCRYPTO_ALIAS(DSA_sign);
425 441
426/* 442/*
427 * data has already been hashed (probably with SHA or SHA-1). 443 * data has already been hashed (probably with SHA or SHA-1).
@@ -457,3 +473,4 @@ DSA_verify(int type, const unsigned char *dgst, int dgst_len,
457 473
458 return ret; 474 return ret;
459} 475}
476LCRYPTO_ALIAS(DSA_verify);