summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xPICA_node.c8
-rw-r--r--PICA_nodeconfig.c1
-rw-r--r--PICA_nodeconfig.h1
3 files changed, 10 insertions, 0 deletions
diff --git a/PICA_node.c b/PICA_node.c
index ae23bac..2bcc705 100755
--- a/PICA_node.c
+++ b/PICA_node.c
@@ -1035,6 +1035,7 @@ switch(ccl->state)
int PICA_node_init()
{
struct sockaddr_in sd;
+int ret;
SSL_load_error_strings();
SSL_library_init();
@@ -1083,6 +1084,13 @@ ctx=SSL_CTX_new(TLSv1_method());
if (!ctx)
;//ERR_CHECK
+
+ret = SSL_CTX_load_verify_locations(ctx, nodecfg.CA_cert_file, 0);
+
+;//ERR_CHECK
+
+SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, NULL);
+
return 1;
}
diff --git a/PICA_nodeconfig.c b/PICA_nodeconfig.c
index edf3710..f495962 100644
--- a/PICA_nodeconfig.c
+++ b/PICA_nodeconfig.c
@@ -20,6 +20,7 @@ if (!d)
nodecfg.announced_addr = strdup(iniparser_getstring(d, "pica-node:announced_addr", NULL));
nodecfg.listen_port = strdup(iniparser_getstring(d, "pica-node:listen_port", NULL));
nodecfg.nodes_db_file = strdup(iniparser_getstring(d, "pica-node:nodes_db_file", NULL));
+nodecfg.CA_cert_file = strdup(iniparser_getstring(d, "pica-node:CA_cert_file", NULL));
iniparser_freedict(d);
diff --git a/PICA_nodeconfig.h b/PICA_nodeconfig.h
index 34ce736..db44346 100644
--- a/PICA_nodeconfig.h
+++ b/PICA_nodeconfig.h
@@ -8,6 +8,7 @@ char *announced_addr;
char *listen_port;
char *nodes_db_file;
char *config_file;
+char *CA_cert_file;
};
extern struct nodeconfig nodecfg;