Home | History | Annotate | Download | only in evp

Lines Matching defs:dsa

61 #include <openssl/dsa.h>
71 DSA *dsa;
73 dsa = DSA_new();
74 if (dsa == NULL) {
78 dsa = DSA_parse_parameters(params);
79 if (dsa == NULL || CBS_len(params) != 0) {
85 dsa->pub_key = BN_new();
86 if (dsa->pub_key == NULL) {
90 if (!BN_parse_asn1_unsigned(key, dsa->pub_key) ||
96 EVP_PKEY_assign_DSA(out, dsa);
100 DSA_free(dsa);
105 const DSA *dsa = key->pkey.dsa;
106 const int has_params = dsa->p != NULL && dsa->q != NULL && dsa->g != NULL;
115 !DSA_marshal_parameters(&algorithm, dsa)) ||
118 !BN_marshal_asn1(&key_bitstring, dsa->pub_key) ||
132 DSA *dsa = DSA_parse_parameters(params);
133 if (dsa == NULL || CBS_len(params) != 0) {
138 dsa->priv_key = BN_new();
139 dsa->pub_key = BN_new();
140 if (dsa->priv_key == NULL || dsa->pub_key == NULL) {
145 if (!BN_parse_asn1_unsigned(key, dsa->priv_key) ||
154 !BN_mod_exp_mont_consttime(dsa->pub_key, dsa->g, dsa->priv_key, dsa->p,
160 EVP_PKEY_assign_DSA(out, dsa);
165 DSA_free(dsa);
170 const DSA *dsa = key->pkey.dsa;
171 if (dsa == NULL || dsa->priv_key == NULL) {
183 !DSA_marshal_parameters(&algorithm, dsa) ||
185 !BN_marshal_asn1(&private_key, dsa->priv_key) ||
195 return DSA_size(pkey->pkey.dsa);
199 return BN_num_bits(pkey->pkey.dsa->p);
203 DSA *dsa;
204 dsa = pkey->pkey.dsa;
205 if (dsa->p == NULL || dsa->q == NULL || dsa->g == NULL) {
225 if (!dup_bn_into(&to->pkey.dsa->p, from->pkey.dsa->p) ||
226 !dup_bn_into(&to->pkey.dsa->q, from->pkey.dsa->q) ||
227 !dup_bn_into(&to->pkey.dsa->g, from->pkey.dsa->g)) {
235 return BN_cmp(a->pkey.dsa->p, b->pkey.dsa->p) == 0 &&
236 BN_cmp(a->pkey.dsa->q, b->pkey.dsa->q) == 0 &&
237 BN_cmp(a->pkey.dsa->g, b->pkey.dsa->g) == 0;
241 return BN_cmp(b->pkey.dsa->pub_key, a->pkey.dsa->pub_key) == 0;
244 static void int_dsa_free(EVP_PKEY *pkey) { DSA_free(pkey->pkey.dsa); }