Lines Matching defs:pkey

256 EVP_PKEY_get0_asn1(const EVP_PKEY *pkey)
258 return pkey->ameth;
263 EVP_PKEY_bits(const EVP_PKEY *pkey)
265 if (pkey && pkey->ameth && pkey->ameth->pkey_bits)
266 return pkey->ameth->pkey_bits(pkey);
272 EVP_PKEY_security_bits(const EVP_PKEY *pkey)
274 if (pkey == NULL)
276 if (pkey->ameth == NULL || pkey->ameth->pkey_security_bits == NULL)
279 return pkey->ameth->pkey_security_bits(pkey);
284 EVP_PKEY_size(const EVP_PKEY *pkey)
286 if (pkey && pkey->ameth && pkey->ameth->pkey_size)
287 return pkey->ameth->pkey_size(pkey);
293 EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode)
296 if (pkey->type == EVP_PKEY_DSA) {
297 int ret = pkey->save_parameters;
300 pkey->save_parameters = mode;
305 if (pkey->type == EVP_PKEY_EC) {
306 int ret = pkey->save_parameters;
309 pkey->save_parameters = mode;
338 EVP_PKEY_missing_parameters(const EVP_PKEY *pkey)
340 if (pkey->ameth && pkey->ameth->param_missing)
341 return pkey->ameth->param_missing(pkey);
383 EVP_PKEY *pkey;
385 if ((pkey = calloc(1, sizeof(*pkey))) == NULL) {
390 pkey->type = EVP_PKEY_NONE;
391 pkey->references = 1;
392 pkey->save_parameters = 1;
394 return pkey;
399 EVP_PKEY_up_ref(EVP_PKEY *pkey)
401 return CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY) > 1;
406 evp_pkey_free_pkey_ptr(EVP_PKEY *pkey)
408 if (pkey == NULL || pkey->ameth == NULL || pkey->ameth->pkey_free == NULL)
411 pkey->ameth->pkey_free(pkey);
412 pkey->pkey.ptr = NULL;
416 EVP_PKEY_free(EVP_PKEY *pkey)
418 if (pkey == NULL)
421 if (CRYPTO_add(&pkey->references, -1, CRYPTO_LOCK_EVP_PKEY) > 0)
424 evp_pkey_free_pkey_ptr(pkey);
425 freezero(pkey, sizeof(*pkey));
430 EVP_PKEY_set_type(EVP_PKEY *pkey, int type)
434 evp_pkey_free_pkey_ptr(pkey);
440 if (pkey != NULL) {
441 pkey->ameth = ameth;
442 pkey->type = pkey->ameth->pkey_id;
450 EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len)
454 evp_pkey_free_pkey_ptr(pkey);
460 if (pkey != NULL) {
461 pkey->ameth = ameth;
462 pkey->type = pkey->ameth->pkey_id;
470 EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key)
472 if (!EVP_PKEY_set_type(pkey, type))
475 return (pkey->pkey.ptr = key) != NULL;
483 EVP_PKEY *pkey;
485 if ((pkey = EVP_PKEY_new()) == NULL)
488 if (!EVP_PKEY_set_type(pkey, type))
491 if (pkey->ameth->set_priv_key == NULL) {
495 if (!pkey->ameth->set_priv_key(pkey, private_key, len)) {
500 return pkey;
503 EVP_PKEY_free(pkey);
513 EVP_PKEY *pkey;
515 if ((pkey = EVP_PKEY_new()) == NULL)
518 if (!EVP_PKEY_set_type(pkey, type))
521 if (pkey->ameth->set_pub_key == NULL) {
525 if (!pkey->ameth->set_pub_key(pkey, public_key, len)) {
530 return pkey;
533 EVP_PKEY_free(pkey);
540 EVP_PKEY_get_raw_private_key(const EVP_PKEY *pkey,
543 if (pkey->ameth->get_priv_key == NULL) {
547 if (!pkey->ameth->get_priv_key(pkey, out_private_key, out_len)) {
557 EVP_PKEY_get_raw_public_key(const EVP_PKEY *pkey,
560 if (pkey->ameth->get_pub_key == NULL) {
564 if (!pkey->ameth->get_pub_key(pkey, out_public_key, out_len)) {
577 EVP_PKEY *pkey = NULL;
580 if ((pkey = EVP_PKEY_new()) == NULL)
585 if (!EVP_PKEY_set_type(pkey, EVP_PKEY_CMAC))
593 pkey->pkey.ptr = cmctx;
595 return pkey;
598 EVP_PKEY_free(pkey);
606 EVP_PKEY_get0(const EVP_PKEY *pkey)
608 return pkey->pkey.ptr;
613 EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len)
617 if (pkey->type != EVP_PKEY_HMAC) {
622 os = EVP_PKEY_get0(pkey);
631 EVP_PKEY_get0_RSA(EVP_PKEY *pkey)
633 if (pkey->type == EVP_PKEY_RSA || pkey->type == EVP_PKEY_RSA_PSS)
634 return pkey->pkey.rsa;
642 EVP_PKEY_get1_RSA(EVP_PKEY *pkey)
646 if ((rsa = EVP_PKEY_get0_RSA(pkey)) == NULL)
656 EVP_PKEY_set1_RSA(EVP_PKEY *pkey, RSA *key)
658 int ret = EVP_PKEY_assign_RSA(pkey, key);
668 EVP_PKEY_get0_DSA(EVP_PKEY *pkey)
670 if (pkey->type != EVP_PKEY_DSA) {
674 return pkey->pkey.dsa;
679 EVP_PKEY_get1_DSA(EVP_PKEY *pkey)
683 if ((dsa = EVP_PKEY_get0_DSA(pkey)) == NULL)
693 EVP_PKEY_set1_DSA(EVP_PKEY *pkey, DSA *key)
695 int ret = EVP_PKEY_assign_DSA(pkey, key);
705 EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey)
707 if (pkey->type != EVP_PKEY_EC) {
711 return pkey->pkey.ec;
716 EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey)
720 if ((key = EVP_PKEY_get0_EC_KEY(pkey)) == NULL)
730 EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, EC_KEY *key)
732 int ret = EVP_PKEY_assign_EC_KEY(pkey, key);
743 EVP_PKEY_get0_DH(EVP_PKEY *pkey)
745 if (pkey->type != EVP_PKEY_DH) {
749 return pkey->pkey.dh;
754 EVP_PKEY_get1_DH(EVP_PKEY *pkey)
758 if ((dh = EVP_PKEY_get0_DH(pkey)) == NULL)
768 EVP_PKEY_set1_DH(EVP_PKEY *pkey, DH *key)
770 int ret = EVP_PKEY_assign_DH(pkey, key);
791 EVP_PKEY_id(const EVP_PKEY *pkey)
793 return pkey->type;
798 EVP_PKEY_base_id(const EVP_PKEY *pkey)
800 return EVP_PKEY_type(pkey->type);
805 unsup_alg(BIO *out, const EVP_PKEY *pkey, int indent, const char *kstr)
810 kstr, OBJ_nid2ln(pkey->type));
815 EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey, int indent,
818 if (pkey->ameth && pkey->ameth->pub_print)
819 return pkey->ameth->pub_print(out, pkey, indent, pctx);
821 return unsup_alg(out, pkey, indent, "Public Key");
826 EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey, int indent,
829 if (pkey->ameth && pkey->ameth->priv_print)
830 return pkey->ameth->priv_print(out, pkey, indent, pctx);
832 return unsup_alg(out, pkey, indent, "Private Key");
837 EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, int indent,
840 if (pkey->ameth && pkey->ameth->param_print)
841 return pkey->ameth->param_print(out, pkey, indent, pctx);
842 return unsup_alg(out, pkey, indent, "Parameters");
847 EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid)
849 if (!pkey->ameth || !pkey->ameth->pkey_ctrl)
851 return pkey->ameth->pkey_ctrl(pkey, ASN1_PKEY_CTRL_DEFAULT_MD_NID,