提交 e6f35b57 编写于 作者: D Dr. Matthias St. Pierre

DSA: add simple getters for commonly used struct members

Reviewed-by: NRichard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6290)
上级 5777254b
......@@ -305,6 +305,31 @@ int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key)
return 1;
}
const BIGNUM *DSA_get0_p(const DSA *d)
{
return d->p;
}
const BIGNUM *DSA_get0_q(const DSA *d)
{
return d->q;
}
const BIGNUM *DSA_get0_g(const DSA *d)
{
return d->g;
}
const BIGNUM *DSA_get0_pub_key(const DSA *d)
{
return d->pub_key;
}
const BIGNUM *DSA_get0_priv_key(const DSA *d)
{
return d->priv_key;
}
void DSA_clear_flags(DSA *d, int flags)
{
d->flags &= ~flags;
......
......@@ -2,8 +2,11 @@
=head1 NAME
DSA_get0_pqg, DSA_set0_pqg, DSA_get0_key, DSA_set0_key, DSA_clear_flags,
DSA_test_flags, DSA_set_flags, DSA_get0_engine - Routines for getting and
DSA_get0_pqg, DSA_set0_pqg, DSA_get0_key, DSA_set0_key,
DSA_get0_p, DSA_get0_q, DSA_get0_g,
DSA_get0_pub_key, DSA_get0_priv_key,
DSA_clear_flags, DSA_test_flags, DSA_set_flags,
DSA_get0_engine - Routines for getting and
setting data in a DSA object
=head1 SYNOPSIS
......@@ -16,6 +19,11 @@ setting data in a DSA object
void DSA_get0_key(const DSA *d,
const BIGNUM **pub_key, const BIGNUM **priv_key);
int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key);
const BIGNUM *DSA_get0_p(const DSA *d);
const BIGNUM *DSA_get0_q(const DSA *d);
const BIGNUM *DSA_get0_g(const DSA *d);
const BIGNUM *DSA_get0_pub_key(const DSA *d);
const BIGNUM *DSA_get0_priv_key(const DSA *d);
void DSA_clear_flags(DSA *d, int flags);
int DSA_test_flags(const DSA *d, int flags);
void DSA_set_flags(DSA *d, int flags);
......@@ -53,6 +61,10 @@ this function transfers the memory management of the key values to the DSA
object, and therefore they should not be freed directly after this function has
been called.
Any of the values B<p>, B<q>, B<g>, B<priv_key>, and B<pub_key> can also be
retrieved separately by the corresponding function DSA_get0_p(), DSA_get0_q(),
DSA_get0_g(), DSA_get0_priv_key(), and DSA_get0_pub_key(), respectively.
DSA_set_flags() sets the flags in the B<flags> parameter on the DSA object.
Multiple flags can be passed in one go (bitwise ORed together). Any flags that
are already set are left set. DSA_test_flags() tests to see whether the flags
......
......@@ -171,6 +171,11 @@ int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g);
void DSA_get0_key(const DSA *d,
const BIGNUM **pub_key, const BIGNUM **priv_key);
int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key);
const BIGNUM *DSA_get0_p(const DSA *d);
const BIGNUM *DSA_get0_q(const DSA *d);
const BIGNUM *DSA_get0_g(const DSA *d);
const BIGNUM *DSA_get0_pub_key(const DSA *d);
const BIGNUM *DSA_get0_priv_key(const DSA *d);
void DSA_clear_flags(DSA *d, int flags);
int DSA_test_flags(const DSA *d, int flags);
void DSA_set_flags(DSA *d, int flags);
......
......@@ -4533,3 +4533,8 @@ DH_get0_q 4474 1_1_1 EXIST::FUNCTION:DH
DH_get0_g 4475 1_1_1 EXIST::FUNCTION:DH
DH_get0_priv_key 4476 1_1_1 EXIST::FUNCTION:DH
DH_get0_pub_key 4477 1_1_1 EXIST::FUNCTION:DH
DSA_get0_priv_key 4478 1_1_1 EXIST::FUNCTION:DSA
DSA_get0_pub_key 4479 1_1_1 EXIST::FUNCTION:DSA
DSA_get0_q 4480 1_1_1 EXIST::FUNCTION:DSA
DSA_get0_p 4481 1_1_1 EXIST::FUNCTION:DSA
DSA_get0_g 4482 1_1_1 EXIST::FUNCTION:DSA
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册