diff options
-rw-r--r-- | src/pkcs11.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/pkcs11.c b/src/pkcs11.c index d7843b04cd..b8dfea70d3 100644 --- a/src/pkcs11.c +++ b/src/pkcs11.c @@ -77,7 +77,7 @@ pkcs11_list (FILE * outfile, const char *url, int type, unsigned int login, gnutls_pkcs11_obj_t *crt_list; gnutls_x509_crt_t xcrt; unsigned int crt_list_size = 0, i; - int ret; + int ret, otype; char *output; int attrs; unsigned int obj_flags = 0; @@ -171,9 +171,9 @@ pkcs11_list (FILE * outfile, const char *url, int type, unsigned int login, fprintf (outfile, "Object %d:\n\tURL: %s\n", i, output); + otype = gnutls_pkcs11_obj_get_type(crt_list[i]); fprintf (outfile, "\tType: %s\n", - gnutls_pkcs11_type_get_name (gnutls_pkcs11_obj_get_type - (crt_list[i]))); + gnutls_pkcs11_type_get_name (otype)); size = sizeof (buf); ret = @@ -199,12 +199,13 @@ pkcs11_list (FILE * outfile, const char *url, int type, unsigned int login, } fprintf (outfile, "\tID: %s\n\n", buf); - - if (attrs == GNUTLS_PKCS11_OBJ_ATTR_ALL || attrs == GNUTLS_PKCS11_OBJ_ATTR_PRIVKEY) continue; + if (otype != GNUTLS_PKCS11_OBJ_X509_CRT) + continue; + ret = gnutls_x509_crt_init (&xcrt); if (ret < 0) { |