29 lines
1.1 KiB
XML
29 lines
1.1 KiB
XML
<?xml version='1.0' encoding='utf-8' ?>
|
|
<!DOCTYPE programlisting PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
]>
|
|
<!-- Automatically generated file. Do not edit. -->
|
|
<programlisting language="C">
|
|
// Load the trusted CA certificates.
|
|
gnutls_certificate_credentials_t cred = NULL;
|
|
int ret = gnutls_certificate_allocate_credentials (&cred);
|
|
if (ret != GNUTLS_E_SUCCESS) {
|
|
fprintf(stderr, "error: gnutls_certificate_allocate_credentials: %s\n",
|
|
gnutls_strerror(ret));
|
|
exit(1);
|
|
}
|
|
// gnutls_certificate_set_x509_system_trust needs GNUTLS version 3.0
|
|
// or newer, so we hard-code the path to the certificate store
|
|
// instead.
|
|
static const char ca_bundle[] = "/etc/ssl/certs/ca-bundle.crt";
|
|
ret = gnutls_certificate_set_x509_trust_file
|
|
(cred, ca_bundle, GNUTLS_X509_FMT_PEM);
|
|
if (ret == 0) {
|
|
fprintf(stderr, "error: no certificates found in: %s\n", ca_bundle);
|
|
exit(1);
|
|
}
|
|
if (ret < 0) {
|
|
fprintf(stderr, "error: gnutls_certificate_set_x509_trust_files(%s): %s\n",
|
|
ca_bundle, gnutls_strerror(ret));
|
|
exit(1);
|
|
}
|
|
</programlisting>
|