diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2016-12-09 15:44:20 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2016-12-19 18:37:22 +0100 |
commit | 7bcce662b223fbb16927b95bebd6d2eb51197e53 (patch) | |
tree | e66da2ea11cf78fdf293c3d03dff1ccdd65fc27a /src | |
parent | 21d368974814630a144a820d6f698df0bd443847 (diff) | |
download | gnutls-7bcce662b223fbb16927b95bebd6d2eb51197e53.tar.gz |
certtool: load_ca_cert() can load a CA from URLs
Diffstat (limited to 'src')
-rw-r--r-- | src/certtool-common.c | 12 |
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); } |