diff --git a/include/proto/ssl_ckch.h b/include/proto/ssl_ckch.h
index 52b358c..cff3095 100644
--- a/include/proto/ssl_ckch.h
+++ b/include/proto/ssl_ckch.h
@@ -54,6 +54,8 @@
 void ckch_inst_free(struct ckch_inst *inst);
 struct ckch_inst *ckch_inst_new();
 
+int ckch_inst_new_load_store(const char *path, struct ckch_store *ckchs, struct bind_conf *bind_conf,
+                             struct ssl_bind_conf *ssl_conf, char **sni_filter, int fcount, struct ckch_inst **ckchi, char **err);
 
 #endif /* USE_OPENSSL */
 #endif /* _PROTO_SSL_CRTLIST_H */
diff --git a/include/proto/ssl_sock.h b/include/proto/ssl_sock.h
index 5d17b2b..0090a6d 100644
--- a/include/proto/ssl_sock.h
+++ b/include/proto/ssl_sock.h
@@ -35,9 +35,12 @@
 extern int sslconns;
 extern int totalsslconns;
 extern struct eb_root ckchs_tree;
+extern struct eb_root crtlists_tree;
 extern int sctl_ex_index;
 extern struct global_ssl global_ssl;
 extern struct ssl_bind_kw ssl_bind_kws[];
+extern struct methodVersions methodVersions[];
+__decl_hathreads(extern HA_SPINLOCK_T ckch_lock);
 
 /* boolean, returns true if connection is over SSL */
 static inline
@@ -92,7 +95,7 @@
 SSL_CTX *ssl_sock_get_generated_cert(unsigned int key, struct bind_conf *bind_conf);
 int ssl_sock_set_generated_cert(SSL_CTX *ctx, unsigned int key, struct bind_conf *bind_conf);
 unsigned int ssl_sock_generated_cert_key(const void *data, size_t len);
-
+void ssl_sock_load_cert_sni(struct ckch_inst *ckch_inst, struct bind_conf *bind_conf);
 #if (HA_OPENSSL_VERSION_NUMBER >= 0x1010000fL) && !defined(OPENSSL_NO_ASYNC) && !defined(LIBRESSL_VERSION_NUMBER)
 void ssl_async_fd_handler(int fd);
 void ssl_async_fd_free(int fd);
