summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2016-12-09 15:44:20 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2016-12-19 18:37:22 +0100
commit7bcce662b223fbb16927b95bebd6d2eb51197e53 (patch)
treee66da2ea11cf78fdf293c3d03dff1ccdd65fc27a /src
parent21d368974814630a144a820d6f698df0bd443847 (diff)
downloadgnutls-7bcce662b223fbb16927b95bebd6d2eb51197e53.tar.gz
certtool: load_ca_cert() can load a CA from URLs
Diffstat (limited to 'src')
-rw-r--r--src/certtool-common.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/certtool-common.c b/src/certtool-common.c
index 04af0e9429..85196629bf 100644
--- a/src/certtool-common.c
+++ b/src/certtool-common.c
@@ -590,6 +590,16 @@ gnutls_x509_crt_t load_ca_cert(unsigned mand, common_info_st * info)
exit(1);
}
+ if (gnutls_url_is_supported(info->ca) != 0) {
+ ret = gnutls_x509_crt_import_url(crt, info->ca, 0);
+ if (ret < 0) {
+ fprintf(stderr, "error importing --load-ca-certificate: %s: %s\n",
+ info->ca, gnutls_strerror(ret));
+ exit(1);
+ }
+ return crt;
+ }
+
dat.data = (void *) read_binary_file(info->ca, &size);
dat.size = size;
@@ -602,7 +612,7 @@ gnutls_x509_crt_t load_ca_cert(unsigned mand, common_info_st * info)
ret = gnutls_x509_crt_import(crt, &dat, info->incert_format);
free(dat.data);
if (ret < 0) {
- fprintf(stderr, "importing --load-ca-certificate: %s: %s\n",
+ fprintf(stderr, "error importing --load-ca-certificate: %s: %s\n",
info->ca, gnutls_strerror(ret));
exit(1);
}