summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Bligh2016-04-05 21:33:48 +0200
committerDaniel P. Berrange2016-06-13 13:41:17 +0200
commitb7b68166dcbadb1c207b4b6f25b23a18a292da2d (patch)
tree1c8d4d7263f3089feec9928d214db9f68fe384fa
parentMerge remote-tracking branch 'remotes/rth/tags/pull-tcg-20160611' into staging (diff)
downloadqemu-b7b68166dcbadb1c207b4b6f25b23a18a292da2d.tar.gz
qemu-b7b68166dcbadb1c207b4b6f25b23a18a292da2d.tar.xz
qemu-b7b68166dcbadb1c207b4b6f25b23a18a292da2d.zip
TLS: provide slightly more information when TLS certificate loading fails
Give slightly more information when certification loading fails. Rather than have no information, you now get gnutls's only slightly less unhelpful error messages. Signed-off-by: Alex Bligh <alex@alex.org.uk> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
-rw-r--r--crypto/tlscredsx509.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c
index 6a0179c2e1..520d34d77e 100644
--- a/crypto/tlscredsx509.c
+++ b/crypto/tlscredsx509.c
@@ -392,11 +392,14 @@ qcrypto_tls_creds_load_cert(QCryptoTLSCredsX509 *creds,
gsize buflen;
GError *gerr;
int ret = -1;
+ int err;
trace_qcrypto_tls_creds_x509_load_cert(creds, isServer, certFile);
- if (gnutls_x509_crt_init(&cert) < 0) {
- error_setg(errp, "Unable to initialize certificate");
+ err = gnutls_x509_crt_init(&cert);
+ if (err < 0) {
+ error_setg(errp, "Unable to initialize certificate: %s",
+ gnutls_strerror(err));
goto cleanup;
}
@@ -410,11 +413,13 @@ qcrypto_tls_creds_load_cert(QCryptoTLSCredsX509 *creds,
data.data = (unsigned char *)buf;
data.size = strlen(buf);
- if (gnutls_x509_crt_import(cert, &data, GNUTLS_X509_FMT_PEM) < 0) {
+ err = gnutls_x509_crt_import(cert, &data, GNUTLS_X509_FMT_PEM);
+ if (err < 0) {
error_setg(errp, isServer ?
- "Unable to import server certificate %s" :
- "Unable to import client certificate %s",
- certFile);
+ "Unable to import server certificate %s: %s" :
+ "Unable to import client certificate %s: %s",
+ certFile,
+ gnutls_strerror(err));
goto cleanup;
}