Lines Matching refs:pkey

85 int EVP_PKEY_bits(EVP_PKEY *pkey)
87 if (pkey && pkey->ameth && pkey->ameth->pkey_bits)
88 return pkey->ameth->pkey_bits(pkey);
92 int EVP_PKEY_size(EVP_PKEY *pkey)
94 if (pkey && pkey->ameth && pkey->ameth->pkey_size)
95 return pkey->ameth->pkey_size(pkey);
99 int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode)
102 if (pkey->type == EVP_PKEY_DSA)
104 int ret=pkey->save_parameters;
107 pkey->save_parameters=mode;
112 if (pkey->type == EVP_PKEY_EC)
114 int ret = pkey->save_parameters;
117 pkey->save_parameters = mode;
143 int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey)
145 if (pkey->ameth && pkey->ameth->param_missing)
146 return pkey->ameth->param_missing(pkey);
197 ret->pkey.ptr=NULL;
204 * If pkey is NULL just return 1 or 0 if the algorithm exists.
207 static int pkey_set_type(EVP_PKEY *pkey, int type, const char *str, int len)
211 if (pkey)
213 if (pkey->pkey.ptr)
214 EVP_PKEY_free_it(pkey);
218 if ((type == pkey->save_type) && pkey->ameth)
222 if (pkey->engine)
224 ENGINE_finish(pkey->engine);
225 pkey->engine = NULL;
234 if (!pkey && e)
242 if (pkey)
244 pkey->ameth = ameth;
245 pkey->engine = e;
247 pkey->type = pkey->ameth->pkey_id;
248 pkey->save_type=type;
253 int EVP_PKEY_set_type(EVP_PKEY *pkey, int type)
255 return pkey_set_type(pkey, type, NULL, -1);
258 int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len)
260 return pkey_set_type(pkey, EVP_PKEY_NONE, str, len);
263 int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key)
265 if (!EVP_PKEY_set_type(pkey, type))
267 pkey->pkey.ptr=key;
271 void *EVP_PKEY_get0(EVP_PKEY *pkey)
273 return pkey->pkey.ptr;
277 int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, RSA *key)
279 int ret = EVP_PKEY_assign_RSA(pkey, key);
285 RSA *EVP_PKEY_get1_RSA(EVP_PKEY *pkey)
287 if(pkey->type != EVP_PKEY_RSA) {
291 RSA_up_ref(pkey->pkey.rsa);
292 return pkey->pkey.rsa;
297 int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, DSA *key)
299 int ret = EVP_PKEY_assign_DSA(pkey, key);
305 DSA *EVP_PKEY_get1_DSA(EVP_PKEY *pkey)
307 if(pkey->type != EVP_PKEY_DSA) {
311 DSA_up_ref(pkey->pkey.dsa);
312 return pkey->pkey.dsa;
318 int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, EC_KEY *key)
320 int ret = EVP_PKEY_assign_EC_KEY(pkey,key);
326 EC_KEY *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey)
328 if (pkey->type != EVP_PKEY_EC)
333 EC_KEY_up_ref(pkey->pkey.ec);
334 return pkey->pkey.ec;
341 int EVP_PKEY_set1_DH(EVP_PKEY *pkey, DH *key)
343 int ret = EVP_PKEY_assign_DH(pkey, key);
349 DH *EVP_PKEY_get1_DH(EVP_PKEY *pkey)
351 if(pkey->type != EVP_PKEY_DH) {
355 DH_up_ref(pkey->pkey.dh);
356 return pkey->pkey.dh;
377 int EVP_PKEY_id(const EVP_PKEY *pkey)
379 return pkey->type;
382 int EVP_PKEY_base_id(const EVP_PKEY *pkey)
384 return EVP_PKEY_type(pkey->type);
416 x->pkey.ptr = NULL;
427 static int unsup_alg(BIO *out, const EVP_PKEY *pkey, int indent,
432 kstr, OBJ_nid2ln(pkey->type));
436 int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey,
439 if (pkey->ameth && pkey->ameth->pub_print)
440 return pkey->ameth->pub_print(out, pkey, indent, pctx);
442 return unsup_alg(out, pkey, indent, "Public Key");
445 int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey,
448 if (pkey->ameth && pkey->ameth->priv_print)
449 return pkey->ameth->priv_print(out, pkey, indent, pctx);
451 return unsup_alg(out, pkey, indent, "Private Key");
454 int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey,
457 if (pkey->ameth && pkey->ameth->param_print)
458 return pkey->ameth->param_print(out, pkey, indent, pctx);
459 return unsup_alg(out, pkey, indent, "Parameters");
462 int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid)
464 if (!pkey->ameth || !pkey->ameth->pkey_ctrl)
466 return pkey->ameth->pkey_ctrl(pkey, ASN1_PKEY_CTRL_DEFAULT_MD_NID,