Lines Matching defs:dsa

54 #include <openssl/dsa.h>
137 DSA *dsa = key->keydata.dsa;
159 if (!EVP_PKEY_set1_DSA(pkey, dsa)) {
198 dsasig = DSA_do_sign(digest, ISC_SHA1_DIGESTLENGTH, dsa);
206 dsasig = DSA_do_sign(digest, ISC_SHA1_DIGESTLENGTH, dsa);
226 DSA *dsa = key->keydata.dsa;
270 if (!EVP_PKEY_set1_DSA(pkey, dsa)) {
286 status = DSA_do_verify(digest, ISC_SHA1_DIGESTLENGTH, dsasig, dsa);
306 dsa1 = key1->keydata.dsa;
307 dsa2 = key2->keydata.dsa;
336 DSA *dsa;
348 dsa = DSA_new();
349 if (dsa == NULL)
354 if (!DSA_generate_parameters_ex(dsa, key->key_size, rand_array,
358 DSA_free(dsa);
363 dsa = DSA_generate_parameters(key->key_size, rand_array,
366 if (dsa == NULL)
371 if (DSA_generate_key(dsa) == 0) {
372 DSA_free(dsa);
376 dsa->flags &= ~DSA_FLAG_CACHE_MONT_P;
378 key->keydata.dsa = dsa;
385 DSA *dsa = key->keydata.dsa;
386 return (ISC_TF(dsa != NULL && dsa->priv_key != NULL));
391 DSA *dsa = key->keydata.dsa;
392 DSA_free(dsa);
393 key->keydata.dsa = NULL;
399 DSA *dsa;
404 REQUIRE(key->keydata.dsa != NULL);
406 dsa = key->keydata.dsa;
410 t = (BN_num_bytes(dsa->p) - 64) / 8;
420 BN_bn2bin_fixed(dsa->q, r.base, ISC_SHA1_DIGESTLENGTH);
422 BN_bn2bin_fixed(dsa->p, r.base, key->key_size/8);
424 BN_bn2bin_fixed(dsa->g, r.base, key->key_size/8);
426 BN_bn2bin_fixed(dsa->pub_key, r.base, key->key_size/8);
436 DSA *dsa;
447 dsa = DSA_new();
448 if (dsa == NULL)
450 dsa->flags &= ~DSA_FLAG_CACHE_MONT_P;
454 DSA_free(dsa);
460 DSA_free(dsa);
464 dsa->q = BN_bin2bn(r.base, ISC_SHA1_DIGESTLENGTH, NULL);
467 dsa->p = BN_bin2bn(r.base, p_bytes, NULL);
470 dsa->g = BN_bin2bn(r.base, p_bytes, NULL);
473 dsa->pub_key = BN_bin2bn(r.base, p_bytes, NULL);
480 key->keydata.dsa = dsa;
489 DSA *dsa;
493 if (key->keydata.dsa == NULL)
496 dsa = key->keydata.dsa;
499 priv.elements[cnt].length = BN_num_bytes(dsa->p);
500 BN_bn2bin(dsa->p, bufs[cnt]);
505 priv.elements[cnt].length = BN_num_bytes(dsa->q);
506 BN_bn2bin(dsa->q, bufs[cnt]);
511 priv.elements[cnt].length = BN_num_bytes(dsa->g);
512 BN_bn2bin(dsa->g, bufs[cnt]);
517 priv.elements[cnt].length = BN_num_bytes(dsa->priv_key);
518 BN_bn2bin(dsa->priv_key, bufs[cnt]);
523 priv.elements[cnt].length = BN_num_bytes(dsa->pub_key);
524 BN_bn2bin(dsa->pub_key, bufs[cnt]);
537 DSA *dsa = NULL;
546 dsa = DSA_new();
547 if (dsa == NULL)
549 dsa->flags &= ~DSA_FLAG_CACHE_MONT_P;
550 key->keydata.dsa = dsa;
561 dsa->p = bn;
564 dsa->q = bn;
567 dsa->g = bn;
570 dsa->priv_key = bn;
573 dsa->pub_key = bn;
579 key->key_size = BN_num_bits(dsa->p);