Home | History | Annotate | Download | only in tls

Lines Matching refs:cred

23 	struct tlsv1_credentials *cred;
24 cred = os_zalloc(sizeof(*cred));
25 return cred;
29 void tlsv1_cred_free(struct tlsv1_credentials *cred)
31 if (cred == NULL)
34 x509_certificate_chain_free(cred->trusted_certs);
35 x509_certificate_chain_free(cred->cert);
36 crypto_private_key_free(cred->key);
37 os_free(cred->dh_p);
38 os_free(cred->dh_g);
39 os_free(cred->ocsp_stapling_response);
40 os_free(cred->ocsp_stapling_response_multi);
41 os_free(cred);
187 * @cred: TLSv1 credentials from tlsv1_cred_alloc()
194 int tlsv1_set_ca_cert(struct tlsv1_credentials *cred, const char *cert,
213 if (hexstr2bin(pos, cred->srv_cert_hash, 32) < 0) {
219 cred->server_cert_only = 1;
220 cred->ca_cert_verify = 0;
227 cred->cert_probe = 1;
228 cred->ca_cert_verify = 0;
233 cred->ca_cert_verify = cert || cert_blob || path;
235 if (tlsv1_set_cert_chain(&cred->trusted_certs, cert,
252 * @cred: TLSv1 credentials from tlsv1_cred_alloc()
258 int tlsv1_set_cert(struct tlsv1_credentials *cred, const char *cert,
261 return tlsv1_set_cert_chain(&cred->cert, cert,
415 static int pkcs12_keybag(struct tlsv1_credentials *cred,
423 static int pkcs12_pkcs8_keybag(struct tlsv1_credentials *cred,
436 crypto_private_key_free(cred->key);
437 cred->key = key;
443 static int pkcs12_certbag(struct tlsv1_credentials *cred,
505 if (cred->cert) {
519 return tlsv1_set_cert(cred, NULL, hdr.payload, hdr.length);
622 static int pkcs12_safebag(struct tlsv1_credentials *cred,
689 return pkcs12_keybag(cred, value, value_len);
691 return pkcs12_pkcs8_keybag(cred, value, value_len, passwd);
693 return pkcs12_certbag(cred, value, value_len);
700 static int pkcs12_safecontents(struct tlsv1_credentials *cred,
736 if (pkcs12_safebag(cred, hdr.payload, hdr.length, passwd) < 0)
745 static int pkcs12_parse_content_data(struct tlsv1_credentials *cred,
763 return pkcs12_safecontents(cred, hdr.payload, hdr.length, passwd);
767 static int pkcs12_parse_content_enc_data(struct tlsv1_credentials *cred,
874 res = pkcs12_safecontents(cred, data, data_len, passwd);
882 static int pkcs12_parse_content(struct tlsv1_credentials *cred,
914 return pkcs12_parse_content_data(cred, pos, end, passwd);
916 return pkcs12_parse_content_enc_data(cred, pos, end, passwd);
925 static int pkcs12_parse(struct tlsv1_credentials *cred,
1049 if (pkcs12_parse_content(cred, hdr.payload, hdr.length,
1062 static int tlsv1_set_key(struct tlsv1_credentials *cred,
1065 cred->key = crypto_private_key_import(key, len, passwd);
1066 if (cred->key == NULL)
1067 cred->key = tlsv1_set_key_pem(key, len);
1068 if (cred->key == NULL)
1069 cred->key = tlsv1_set_key_enc_pem(key, len, passwd);
1071 if (!cred->key)
1072 pkcs12_parse(cred, key, len, passwd);
1074 if (cred->key == NULL) {
1084 * @cred: TLSv1 credentials from tlsv1_cred_alloc()
1092 int tlsv1_set_private_key(struct tlsv1_credentials *cred,
1098 crypto_private_key_free(cred->key);
1099 cred->key = NULL;
1102 return tlsv1_set_key(cred, private_key_blob,
1118 ret = tlsv1_set_key(cred, buf, len, private_key_passwd);
1127 static int tlsv1_set_dhparams_der(struct tlsv1_credentials *cred,
1168 os_free(cred->dh_p);
1169 cred->dh_p = os_memdup(hdr.payload, hdr.length);
1170 if (cred->dh_p == NULL)
1172 cred->dh_p_len = hdr.length;
1189 os_free(cred->dh_g);
1190 cred->dh_g = os_memdup(hdr.payload, hdr.length);
1191 if (cred->dh_g == NULL)
1193 cred->dh_g_len = hdr.length;
1203 static int tlsv1_set_dhparams_blob(struct tlsv1_credentials *cred,
1214 return tlsv1_set_dhparams_der(cred, buf, len);
1234 if (tlsv1_set_dhparams_der(cred, der, der_len) < 0) {
1249 * @cred: TLSv1 credentials from tlsv1_cred_alloc()
1255 int tlsv1_set_dhparams(struct tlsv1_credentials *cred, const char *dh_file,
1259 return tlsv1_set_dhparams_blob(cred, dh_blob, dh_blob_len);
1273 ret = tlsv1_set_dhparams_blob(cred, buf, len);