]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Add a function to obtain the trust list of a gnutls_certificate_credentials_t
authorArmin Burgmeier <armin@arbur.net>
Wed, 17 Sep 2014 16:30:44 +0000 (12:30 -0400)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Wed, 24 Sep 2014 08:01:58 +0000 (10:01 +0200)
Signed-off-by: Armin Burgmeier <armin@arbur.net>
lib/gnutls_x509.c
lib/includes/gnutls/x509.h
lib/libgnutls.map

index a4921f93110b295fbaa149c457099b74081748c2..70e999e73643d9b77e15d0cc7fde993f50e480dd 100644 (file)
@@ -1246,6 +1246,24 @@ gnutls_certificate_set_trust_list(gnutls_certificate_credentials_t res,
        res->tlist = tlist;
 }
 
+/**
+ * gnutls_certificate_get_trust_list:
+ * @res: is a #gnutls_certificate_credentials_t structure.
+ * @tlist: Location where to store the trust list.
+ *
+ * Obtains the list of trusted certificates stored in @res and writes a
+ * pointer to it to the location @tlist. The pointer will point to memory
+ * internal to @res, and must not be deinitialized. It will be automatically
+ * deallocated when the @res structure is deinitialized.
+ *
+ * Since: 3.4.0
+ */
+void
+gnutls_certificate_get_trust_list(gnutls_certificate_credentials_t res,
+                                  gnutls_x509_trust_list_t *tlist)
+{
+       *tlist = res->tlist;
+}
 
 /**
  * gnutls_certificate_set_x509_key_file:
index a64d5dcb6e9f9dce37e65ef564363551bf314f5c..c8313824dd597d53535265387c98f8c62b67fe1a 100644 (file)
@@ -1362,6 +1362,9 @@ gnutls_x509_trust_list_add_system_trust(gnutls_x509_trust_list_t
 void gnutls_certificate_set_trust_list
     (gnutls_certificate_credentials_t res,
      gnutls_x509_trust_list_t tlist, unsigned flags);
+void gnutls_certificate_get_trust_list
+    (gnutls_certificate_credentials_t res,
+     gnutls_x509_trust_list_t *tlist);
 
 typedef struct gnutls_x509_ext_st {
        char *oid;
index ba5ffe2af10364dd19732f080b7c19c78ec1f302..65280b1b7b8c5849aede7fff5c13fd1d1195bf5c 100644 (file)
@@ -899,6 +899,7 @@ GNUTLS_3_1_0 {
        gnutls_alpn_set_protocols;
        gnutls_session_set_id;
        gnutls_certificate_set_trust_list;
+       gnutls_certificate_get_trust_list;
        gnutls_cipher_get_tag_size;
        gnutls_record_overhead_size;
        gnutls_handshake_set_hook_function;