Lines Matching refs:pkey

79 static int ssl_set_pkey(CERT *cert, EVP_PKEY *pkey) {
80 if (!ssl_is_key_type_supported(pkey->type)) {
88 !ssl_cert_check_private_key(cert, pkey)) {
93 EVP_PKEY_up_ref(pkey);
94 cert->privatekey = pkey;
142 static int pkey_supports_algorithm(const SSL *ssl, EVP_PKEY *pkey,
146 EVP_PKEY_id(pkey) != alg->pkey_type) {
160 EC_KEY_get0_group(EVP_PKEY_get0_EC_KEY(pkey))) != alg->curve)) {
168 static int setup_ctx(SSL *ssl, EVP_MD_CTX *ctx, EVP_PKEY *pkey, uint16_t sigalg,
170 if (!pkey_supports_algorithm(ssl, pkey, sigalg)) {
179 if (!EVP_DigestVerifyInit(ctx, &pctx, digest, NULL, pkey)) {
182 } else if (!EVP_DigestSignInit(ctx, &pctx, digest, NULL, pkey)) {
225 uint16_t sigalg, EVP_PKEY *pkey,
228 return setup_ctx(ssl, ctx.get(), pkey, sigalg, 1 /* verify */) &&
302 UniquePtr<EVP_PKEY> pkey(EVP_PKEY_new());
303 if (!pkey ||
304 !EVP_PKEY_set1_RSA(pkey.get(), rsa)) {
309 return ssl_set_pkey(ssl->cert, pkey.get());
322 int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey) {
323 if (pkey == NULL) {
328 return ssl_set_pkey(ssl->cert, pkey);
339 UniquePtr<EVP_PKEY> pkey(d2i_PrivateKey(type, NULL, &p, (long)der_len));
340 if (!pkey || p != der + der_len) {
345 return SSL_use_PrivateKey(ssl, pkey.get());
354 UniquePtr<EVP_PKEY> pkey(EVP_PKEY_new());
355 if (!pkey ||
356 !EVP_PKEY_set1_RSA(pkey.get(), rsa)) {
361 return ssl_set_pkey(ctx->cert, pkey.get());
375 int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey) {
376 if (pkey == NULL) {
381 return ssl_set_pkey(ctx->cert, pkey);
392 UniquePtr<EVP_PKEY> pkey(d2i_PrivateKey(type, NULL, &p, (long)der_len));
393 if (!pkey || p != der + der_len) {
398 return SSL_CTX_use_PrivateKey(ctx, pkey.get());