Lines Matching defs:store
141 X509_STORE *store;
143 if ((store = calloc(1, sizeof(*store))) == NULL)
146 if ((store->objs = sk_X509_OBJECT_new(x509_object_cmp)) == NULL)
148 if ((store->get_cert_methods = sk_X509_LOOKUP_new_null()) == NULL)
150 if ((store->param = X509_VERIFY_PARAM_new()) == NULL)
153 if (!CRYPTO_new_ex_data(CRYPTO_EX_INDEX_X509_STORE, store,
154 &store->ex_data))
157 store->references = 1;
159 return store;
163 X509_STORE_free(store);
223 X509_STORE_free(X509_STORE *store)
225 if (store == NULL)
228 if (CRYPTO_add(&store->references, -1, CRYPTO_LOCK_X509_STORE) > 0)
231 sk_X509_LOOKUP_pop_free(store->get_cert_methods, X509_LOOKUP_free);
232 sk_X509_OBJECT_pop_free(store->objs, X509_OBJECT_free);
234 CRYPTO_free_ex_data(CRYPTO_EX_INDEX_X509_STORE, store, &store->ex_data);
235 X509_VERIFY_PARAM_free(store->param);
236 free(store);
241 X509_STORE_up_ref(X509_STORE *store)
243 return CRYPTO_add(&store->references, 1, CRYPTO_LOCK_X509_STORE) > 1;
248 X509_STORE_add_lookup(X509_STORE *store, const X509_LOOKUP_METHOD *method)
254 sk = store->get_cert_methods;
265 lu->store_ctx = store;
266 if (sk_X509_LOOKUP_push(store->get_cert_methods, lu) <= 0) {
297 X509_STORE *ctx = vs->store;
332 /* Add obj to the store. Takes ownership of obj. */
334 X509_STORE_add_object(X509_STORE *store, X509_OBJECT *obj)
340 if (X509_OBJECT_retrieve_match(store->objs, obj) != NULL) {
341 /* Object is already present in the store. That's fine. */
346 if (sk_X509_OBJECT_push(store->objs, obj) <= 0) {
362 X509_STORE_add_cert(X509_STORE *store, X509 *x)
380 return X509_STORE_add_object(store, obj);
385 X509_STORE_add_crl(X509_STORE *store, X509_CRL *x)
403 return X509_STORE_add_object(store, obj);
511 X509_get1_certs_from_cache(X509_STORE *store, X509_NAME *name)
520 idx = x509_object_idx_cnt(store->objs, X509_LU_X509, name, &cnt);
528 obj = sk_X509_OBJECT_value(store->objs, idx);
554 X509_STORE *store = ctx->store;
558 if (store == NULL)
561 if ((sk = X509_get1_certs_from_cache(store, name)) != NULL)
570 return X509_get1_certs_from_cache(store, name);
577 X509_STORE *store = ctx->store;
583 if (store == NULL)
595 idx = x509_object_idx_cnt(store->objs, X509_LU_CRL, name, &cnt);
603 obj = sk_X509_OBJECT_value(store->objs, idx);
654 /* Try to get issuer certificate from store. Due to limitations
702 if (ctx->store == NULL)
707 idx = X509_OBJECT_idx_by_subject(ctx->store->objs, X509_LU_X509, xn);
710 for (i = idx; i < sk_X509_OBJECT_num(ctx->store->objs); i++) {
711 pobj = sk_X509_OBJECT_value(ctx->store->objs, i);
782 X509_STORE_get1_objects(X509_STORE *store)
786 if (store == NULL) {
792 objs = sk_X509_OBJECT_deep_copy(store->objs);
857 X509_STORE_set_verify(X509_STORE *store, X509_STORE_CTX_verify_fn verify)
859 store->verify = verify;
864 X509_STORE_get_verify(X509_STORE *store)
866 return store->verify;
871 X509_STORE_set_verify_cb(X509_STORE *store, X509_STORE_CTX_verify_cb verify_cb)
873 store->verify_cb = verify_cb;
878 X509_STORE_get_verify_cb(X509_STORE *store)
880 return store->verify_cb;