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)
|
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)
|
static int dsa_security_bits(const EVP_PKEY *pkey)
|
||||||
|
|
|
@ -339,3 +339,8 @@ ENGINE *DSA_get0_engine(DSA *d)
|
||||||
{
|
{
|
||||||
return d->engine;
|
return d->engine;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int DSA_bits(const DSA *dsa)
|
||||||
|
{
|
||||||
|
return BN_num_bits(dsa->p);
|
||||||
|
}
|
||||||
|
|
|
@ -2,25 +2,31 @@
|
||||||
|
|
||||||
=head1 NAME
|
=head1 NAME
|
||||||
|
|
||||||
DSA_size - get DSA signature size
|
DSA_size, DSA_bits - get DSA signature size or key bits
|
||||||
|
|
||||||
=head1 SYNOPSIS
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
#include <openssl/dsa.h>
|
#include <openssl/dsa.h>
|
||||||
|
|
||||||
int DSA_size(const DSA *dsa);
|
int DSA_size(const DSA *dsa);
|
||||||
|
int DSA_bits(const DSA *dsa);
|
||||||
|
|
||||||
=head1 DESCRIPTION
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
This function returns the size of an ASN.1 encoded DSA signature in
|
DSA_size() returns the maximum size of an ASN.1 encoded DSA signature
|
||||||
bytes. It can be used to determine how much memory must be allocated
|
for key B<dsa> in bytes. It can be used to determine how much memory must
|
||||||
for a DSA signature.
|
be allocated for a DSA signature.
|
||||||
|
|
||||||
B<dsa-E<gt>q> must not be B<NULL>.
|
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
|
=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
|
=head1 SEE ALSO
|
||||||
|
|
||||||
|
|
|
@ -101,6 +101,7 @@ void DSA_free(DSA *r);
|
||||||
/* "up" the DSA object's reference count */
|
/* "up" the DSA object's reference count */
|
||||||
int DSA_up_ref(DSA *r);
|
int DSA_up_ref(DSA *r);
|
||||||
int DSA_size(const DSA *);
|
int DSA_size(const DSA *);
|
||||||
|
int DSA_bits(const DSA *d);
|
||||||
int DSA_security_bits(const DSA *d);
|
int DSA_security_bits(const DSA *d);
|
||||||
/* next 4 return -1 on error */
|
/* next 4 return -1 on error */
|
||||||
int DSA_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp);
|
int DSA_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp);
|
||||||
|
|
Loading…
Reference in a new issue