OpenCoverage

eng_pkey.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/engine/eng_pkey.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/*-
2 * Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.-
3 *-
4 * Licensed under the OpenSSL license (the "License"). You may not use-
5 * this file except in compliance with the License. You can obtain a copy-
6 * in the file LICENSE in the source distribution or at-
7 * https://www.openssl.org/source/license.html-
8 */-
9-
10#include "eng_int.h"-
11-
12/* Basic get/set stuff */-
13-
14int ENGINE_set_load_privkey_function(ENGINE *e,-
15 ENGINE_LOAD_KEY_PTR loadpriv_f)-
16{-
17 e->load_privkey = loadpriv_f;-
18 return 1;
never executed: return 1;
0
19}-
20-
21int ENGINE_set_load_pubkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR loadpub_f)-
22{-
23 e->load_pubkey = loadpub_f;-
24 return 1;
never executed: return 1;
0
25}-
26-
27int ENGINE_set_load_ssl_client_cert_function(ENGINE *e,-
28 ENGINE_SSL_CLIENT_CERT_PTR-
29 loadssl_f)-
30{-
31 e->load_ssl_client_cert = loadssl_f;-
32 return 1;
never executed: return 1;
0
33}-
34-
35ENGINE_LOAD_KEY_PTR ENGINE_get_load_privkey_function(const ENGINE *e)-
36{-
37 return e->load_privkey;
never executed: return e->load_privkey;
0
38}-
39-
40ENGINE_LOAD_KEY_PTR ENGINE_get_load_pubkey_function(const ENGINE *e)-
41{-
42 return e->load_pubkey;
never executed: return e->load_pubkey;
0
43}-
44-
45ENGINE_SSL_CLIENT_CERT_PTR ENGINE_get_ssl_client_cert_function(const ENGINE-
46 *e)-
47{-
48 return e->load_ssl_client_cert;
never executed: return e->load_ssl_client_cert;
0
49}-
50-
51/* API functions to load public/private keys */-
52-
53EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,-
54 UI_METHOD *ui_method, void *callback_data)-
55{-
56 EVP_PKEY *pkey;-
57-
58 if (e == NULL) {
e == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
59 ENGINEerr(ENGINE_F_ENGINE_LOAD_PRIVATE_KEY,-
60 ERR_R_PASSED_NULL_PARAMETER);-
61 return 0;
never executed: return 0;
0
62 }-
63 CRYPTO_THREAD_write_lock(global_engine_lock);-
64 if (e->funct_ref == 0) {
e->funct_ref == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
65 CRYPTO_THREAD_unlock(global_engine_lock);-
66 ENGINEerr(ENGINE_F_ENGINE_LOAD_PRIVATE_KEY, ENGINE_R_NOT_INITIALISED);-
67 return 0;
never executed: return 0;
0
68 }-
69 CRYPTO_THREAD_unlock(global_engine_lock);-
70 if (!e->load_privkey) {
!e->load_privkeyDescription
TRUEnever evaluated
FALSEnever evaluated
0
71 ENGINEerr(ENGINE_F_ENGINE_LOAD_PRIVATE_KEY,-
72 ENGINE_R_NO_LOAD_FUNCTION);-
73 return 0;
never executed: return 0;
0
74 }-
75 pkey = e->load_privkey(e, key_id, ui_method, callback_data);-
76 if (!pkey) {
!pkeyDescription
TRUEnever evaluated
FALSEnever evaluated
0
77 ENGINEerr(ENGINE_F_ENGINE_LOAD_PRIVATE_KEY,-
78 ENGINE_R_FAILED_LOADING_PRIVATE_KEY);-
79 return 0;
never executed: return 0;
0
80 }-
81 return pkey;
never executed: return pkey;
0
82}-
83-
84EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id,-
85 UI_METHOD *ui_method, void *callback_data)-
86{-
87 EVP_PKEY *pkey;-
88-
89 if (e == NULL) {
e == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
90 ENGINEerr(ENGINE_F_ENGINE_LOAD_PUBLIC_KEY,-
91 ERR_R_PASSED_NULL_PARAMETER);-
92 return 0;
never executed: return 0;
0
93 }-
94 CRYPTO_THREAD_write_lock(global_engine_lock);-
95 if (e->funct_ref == 0) {
e->funct_ref == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
96 CRYPTO_THREAD_unlock(global_engine_lock);-
97 ENGINEerr(ENGINE_F_ENGINE_LOAD_PUBLIC_KEY, ENGINE_R_NOT_INITIALISED);-
98 return 0;
never executed: return 0;
0
99 }-
100 CRYPTO_THREAD_unlock(global_engine_lock);-
101 if (!e->load_pubkey) {
!e->load_pubkeyDescription
TRUEnever evaluated
FALSEnever evaluated
0
102 ENGINEerr(ENGINE_F_ENGINE_LOAD_PUBLIC_KEY, ENGINE_R_NO_LOAD_FUNCTION);-
103 return 0;
never executed: return 0;
0
104 }-
105 pkey = e->load_pubkey(e, key_id, ui_method, callback_data);-
106 if (!pkey) {
!pkeyDescription
TRUEnever evaluated
FALSEnever evaluated
0
107 ENGINEerr(ENGINE_F_ENGINE_LOAD_PUBLIC_KEY,-
108 ENGINE_R_FAILED_LOADING_PUBLIC_KEY);-
109 return 0;
never executed: return 0;
0
110 }-
111 return pkey;
never executed: return pkey;
0
112}-
113-
114int ENGINE_load_ssl_client_cert(ENGINE *e, SSL *s,-
115 STACK_OF(X509_NAME) *ca_dn, X509 **pcert,-
116 EVP_PKEY **ppkey, STACK_OF(X509) **pother,-
117 UI_METHOD *ui_method, void *callback_data)-
118{-
119-
120 if (e == NULL) {
e == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
121 ENGINEerr(ENGINE_F_ENGINE_LOAD_SSL_CLIENT_CERT,-
122 ERR_R_PASSED_NULL_PARAMETER);-
123 return 0;
never executed: return 0;
0
124 }-
125 CRYPTO_THREAD_write_lock(global_engine_lock);-
126 if (e->funct_ref == 0) {
e->funct_ref == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
127 CRYPTO_THREAD_unlock(global_engine_lock);-
128 ENGINEerr(ENGINE_F_ENGINE_LOAD_SSL_CLIENT_CERT,-
129 ENGINE_R_NOT_INITIALISED);-
130 return 0;
never executed: return 0;
0
131 }-
132 CRYPTO_THREAD_unlock(global_engine_lock);-
133 if (!e->load_ssl_client_cert) {
!e->load_ssl_client_certDescription
TRUEnever evaluated
FALSEnever evaluated
0
134 ENGINEerr(ENGINE_F_ENGINE_LOAD_SSL_CLIENT_CERT,-
135 ENGINE_R_NO_LOAD_FUNCTION);-
136 return 0;
never executed: return 0;
0
137 }-
138 return e->load_ssl_client_cert(e, s, ca_dn, pcert, ppkey, pother,
never executed: return e->load_ssl_client_cert(e, s, ca_dn, pcert, ppkey, pother, ui_method, callback_data);
0
139 ui_method, callback_data);
never executed: return e->load_ssl_client_cert(e, s, ca_dn, pcert, ppkey, pother, ui_method, callback_data);
0
140}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2