Add DSA_bits() function.
RT#4637 Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
parent
6c1f368d88
commit
5d8d9a8efa
4 changed files with 18 additions and 6 deletions
|
@ -254,7 +254,7 @@ static int int_dsa_size(const EVP_PKEY *pkey)
|
|||
|
||||
static int dsa_bits(const EVP_PKEY *pkey)
|
||||
{
|
||||
return BN_num_bits(pkey->pkey.dsa->p);
|
||||
return DSA_bits(pkey->pkey.dsa);
|
||||
}
|
||||
|
||||
static int dsa_security_bits(const EVP_PKEY *pkey)
|
||||
|
|
|
@ -339,3 +339,8 @@ ENGINE *DSA_get0_engine(DSA *d)
|
|||
{
|
||||
return d->engine;
|
||||
}
|
||||
|
||||
int DSA_bits(const DSA *dsa)
|
||||
{
|
||||
return BN_num_bits(dsa->p);
|
||||
}
|
||||
|
|
|
@ -2,25 +2,31 @@
|
|||
|
||||
=head1 NAME
|
||||
|
||||
DSA_size - get DSA signature size
|
||||
DSA_size, DSA_bits - get DSA signature size or key bits
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
#include <openssl/dsa.h>
|
||||
|
||||
int DSA_size(const DSA *dsa);
|
||||
int DSA_bits(const DSA *dsa);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This function returns the size of an ASN.1 encoded DSA signature in
|
||||
bytes. It can be used to determine how much memory must be allocated
|
||||
for a DSA signature.
|
||||
DSA_size() returns the maximum size of an ASN.1 encoded DSA signature
|
||||
for key B<dsa> in bytes. It can be used to determine how much memory must
|
||||
be allocated for a DSA signature.
|
||||
|
||||
B<dsa-E<gt>q> must not be B<NULL>.
|
||||
|
||||
DSA_bits() returns the number of bits in key B<dsa>: this is the number
|
||||
of bits in the B<p> parameter.
|
||||
|
||||
=head1 RETURN VALUE
|
||||
|
||||
The size in bytes.
|
||||
DSA_size() returns the size in bytes.
|
||||
|
||||
DSA_bits() returns the number of bits in the key.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
|
|
|
@ -101,6 +101,7 @@ void DSA_free(DSA *r);
|
|||
/* "up" the DSA object's reference count */
|
||||
int DSA_up_ref(DSA *r);
|
||||
int DSA_size(const DSA *);
|
||||
int DSA_bits(const DSA *d);
|
||||
int DSA_security_bits(const DSA *d);
|
||||
/* next 4 return -1 on error */
|
||||
int DSA_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp);
|
||||
|
|
Loading…
Reference in a new issue