]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
ex-pkcs11-list.c: updated for new API
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Mon, 22 Dec 2014 09:59:41 +0000 (11:59 +0200)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Mon, 22 Dec 2014 09:59:41 +0000 (11:59 +0200)
doc/examples/ex-pkcs11-list.c

index 50911618908aaaeca96048ecd74295e38e72218b..b2636312f7239399b6dac1a9502f1387bdbd612b 100644 (file)
@@ -17,21 +17,13 @@ int main(int argc, char **argv)
         int ret;
         unsigned int i;
 
-        obj_list_size = 0;
-        ret = gnutls_pkcs11_obj_list_import_url(NULL, &obj_list_size, URL,
-                                                GNUTLS_PKCS11_OBJ_ATTR_CRT_WITH_PRIVKEY,
-                                                0);
-        if (ret < 0 && ret != GNUTLS_E_SHORT_MEMORY_BUFFER)
+        ret = gnutls_pkcs11_obj_list_import_url4(&obj_list, &obj_list_size, URL,
+                                                GNUTLS_PKCS11_OBJ_FLAG_CRT|
+                                                GNUTLS_PKCS11_OBJ_FLAG_WITH_PRIVKEY);
+        if (ret < 0)
                 return -1;
 
-/* no error checking from now on */
-        obj_list = malloc(sizeof(*obj_list) * obj_list_size);
-
-        gnutls_pkcs11_obj_list_import_url(obj_list, &obj_list_size, URL,
-                                          GNUTLS_PKCS11_OBJ_ATTR_CRT_WITH_PRIVKEY,
-                                          0);
-
-/* now all certificates are in obj_list */
+        /* now all certificates are in obj_list */
         for (i = 0; i < obj_list_size; i++) {
 
                 gnutls_x509_crt_init(&xcrt);
@@ -46,5 +38,9 @@ int main(int argc, char **argv)
                 gnutls_x509_crt_deinit(xcrt);
         }
 
+        for (i = 0; i < obj_list_size; i++)
+               gnutls_pkcs11_obj_deinit(obj_list[i]);
+       gnutls_free(obj_list);
+
         return 0;
 }