Lines Matching defs:chain
125 if (cpk->chain) {
126 rpk->chain = X509_chain_up_ref(cpk->chain);
127 if (!rpk->chain) {
225 sk_X509_pop_free(cpk->chain, X509_free);
226 cpk->chain = NULL;
261 int ssl_cert_set0_chain(SSL *s, SSL_CTX *ctx, STACK_OF(X509) *chain)
268 for (i = 0; i < sk_X509_num(chain); i++) {
269 X509 *x = sk_X509_value(chain, i);
277 sk_X509_pop_free(cpk->chain, X509_free);
278 cpk->chain = chain;
282 int ssl_cert_set1_chain(SSL *s, SSL_CTX *ctx, STACK_OF(X509) *chain)
285 if (!chain)
287 dchain = X509_chain_up_ref(chain);
308 if (!cpk->chain)
309 cpk->chain = sk_X509_new_null();
310 if (!cpk->chain || !sk_X509_push(cpk->chain, x))
376 * Verify a certificate chain
873 /* Build a certificate chain for current certificate */
880 STACK_OF(X509) *chain = NULL, *untrusted = NULL;
889 /* Rearranging and check the chain: add everything to a store */
894 for (i = 0; i < sk_X509_num(cpk->chain); i++) {
895 x = sk_X509_value(cpk->chain, i);
911 untrusted = cpk->chain;
935 chain = X509_STORE_CTX_get1_chain(xs_ctx);
943 /* Remove EE certificate from chain */
944 x = sk_X509_shift(chain);
947 if (sk_X509_num(chain) > 0) {
949 x = sk_X509_value(chain, sk_X509_num(chain) - 1);
951 x = sk_X509_pop(chain);
960 for (i = 0; i < sk_X509_num(chain); i++) {
961 x = sk_X509_value(chain, i);
965 sk_X509_pop_free(chain, X509_free);
970 sk_X509_pop_free(cpk->chain, X509_free);
971 cpk->chain = chain;
982 int ssl_cert_set_cert_store(CERT *c, X509_STORE *store, int chain, int ref)
985 if (chain)
996 int ssl_cert_get_cert_store(CERT *c, X509_STORE **pstore, int chain)
998 *pstore = (chain ? c->chain_store : c->verify_store);