From 51cdb16b3e257e69668eb9524301c52862a320d8 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Wed, 13 Jul 2022 21:44:24 +0000 Subject: In dsa.h rev. 1.34 (14 Jan 2022), tb@ provided DSA_bits(3). Document it from scratch. While here, merge a few details from the OpenSSL 1.1.1 branch, which is still under a free license, into the documentation of DSA_size(3). --- lib/libcrypto/man/DSA_size.3 | 61 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 51 insertions(+), 10 deletions(-) diff --git a/lib/libcrypto/man/DSA_size.3 b/lib/libcrypto/man/DSA_size.3 index 7e935e3a42a..4786acc7e98 100644 --- a/lib/libcrypto/man/DSA_size.3 +++ b/lib/libcrypto/man/DSA_size.3 @@ -1,8 +1,26 @@ -.\" $OpenBSD: DSA_size.3,v 1.7 2018/03/27 17:35:50 schwarze Exp $ -.\" OpenSSL 05ea606a May 20 20:52:46 2016 -0400 +.\" $OpenBSD: DSA_size.3,v 1.8 2022/07/13 21:44:23 schwarze Exp $ +.\" full merge up to: OpenSSL 61f805c1 Jan 16 01:01:46 2018 +0800 .\" -.\" This file was written by Ulf Moeller . -.\" Copyright (c) 2000, 2002 The OpenSSL Project. All rights reserved. +.\" This file is a derived work. +.\" The changes are covered by the following Copyright and license: +.\" +.\" Copyright (c) 2022 Ingo Schwarze +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.\" The original file was written by Ulf Moeller +.\" and Dr. Stephen Henson . +.\" Copyright (c) 2000, 2002, 2016 The OpenSSL Project. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -48,34 +66,57 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED .\" OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: March 27 2018 $ +.Dd $Mdocdate: July 13 2022 $ .Dt DSA_SIZE 3 .Os .Sh NAME -.Nm DSA_size -.Nd get DSA signature size +.Nm DSA_size , +.Nm DSA_bits +.Nd get DSA signature or key size .Sh SYNOPSIS .In openssl/dsa.h .Ft int .Fo DSA_size .Fa "const DSA *dsa" .Fc +.Ft int +.Fo DSA_bits +.Fa "const DSA *dsa" +.Fc .Sh DESCRIPTION -This function returns the size of an ASN.1 encoded DSA signature in -bytes. +.Fn DSA_size +returns the maximum size of an ASN.1 encoded DSA signature for the key +.Fa dsa +in bytes. It can be used to determine how much memory must be allocated for a DSA signature. .Pp .Fa dsa->q must not be .Dv NULL . +.Pp +.Fn DSA_bits +returns the number of significant bits in the public domain parameter +.Fa p +contained in +.Fa dsa . +This is also the number of bits in the public key. .Sh RETURN VALUES -The size in bytes. +.Fn DSA_size +returns the size of the signature in bytes. +.Pp +.Fn DSA_bits +returns the size of the public key in bits. .Sh SEE ALSO .Xr DSA_get0_pqg 3 , .Xr DSA_new 3 , +.Xr DSA_security_bits 3 , .Xr DSA_sign 3 .Sh HISTORY .Fn DSA_size first appeared in SSLeay 0.6.0 and has been available since .Ox 2.4 . +.Pp +.Fn DSA_bits +first appeared in OpenSSL 1.1.0 and has been available since +.Ox 7.1 . -- cgit v1.2.3