summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Walter <stefw@src.gnome.org>2007-12-05 01:57:30 +0000
committerStefan Walter <stefw@src.gnome.org>2007-12-05 01:57:30 +0000
commit65e7c22fd32856b45c924e394a4d3732420640a7 (patch)
tree214c0e334058a959299fb0366f426255e727dd7b
parentf126c0cc094e56a33da7900bcdddc76116b6c481 (diff)
Lookup related certificates properly using GType
* pk/gkr-pk-privkey.c: * pk/gkr-pk-pubkey.c: Lookup related certificates properly using GType svn path=/trunk/; revision=948
-rw-r--r--ChangeLog3
-rw-r--r--pk/gkr-pk-privkey.c3
-rw-r--r--pk/gkr-pk-pubkey.c7
3 files changed, 9 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 116a3cd3..0035bd7b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -21,6 +21,9 @@
* pk/gkr-pk-util.c: Proper formating of a date into a PKCS#11 CK_DATE
+ * pk/gkr-pk-privkey.c:
+ * pk/gkr-pk-pubkey.c: Lookup related certificates properly using GType
+
2007-12-04 Stef Walter <stef@memberwebs.com>
* common/gkr-crypto.c:
diff --git a/pk/gkr-pk-privkey.c b/pk/gkr-pk-privkey.c
index 50fafec7..bd7c6251 100644
--- a/pk/gkr-pk-privkey.c
+++ b/pk/gkr-pk-privkey.c
@@ -36,6 +36,7 @@
#include "common/gkr-unique.h"
#include "pkix/gkr-pkix-der.h"
+#include "pkix/gkr-pkix-cert.h"
#include <glib.h>
#include <glib-object.h>
@@ -203,7 +204,7 @@ attribute_from_certificate (GkrPkPrivkey *key, CK_ATTRIBUTE_PTR attr)
return CKR_GENERAL_ERROR;
obj = GKR_PK_OBJECT (key);
- crt = gkr_pk_object_manager_find_by_id (obj->manager, CKO_CERTIFICATE, keyid);
+ crt = gkr_pk_object_manager_find_by_id (obj->manager, GKR_TYPE_PKIX_CERT, keyid);
if (crt == NULL)
return CKR_ATTRIBUTE_TYPE_INVALID;
diff --git a/pk/gkr-pk-pubkey.c b/pk/gkr-pk-pubkey.c
index af1f57e8..aae54363 100644
--- a/pk/gkr-pk-pubkey.c
+++ b/pk/gkr-pk-pubkey.c
@@ -35,6 +35,7 @@
#include "common/gkr-unique.h"
#include "pkix/gkr-pkix-der.h"
+#include "pkix/gkr-pkix-cert.h"
#include <glib.h>
#include <glib-object.h>
@@ -127,7 +128,7 @@ load_public_key (GkrPkPubkey *key)
}
static CK_RV
-attribute_from_related (GkrPkPubkey *key, CK_OBJECT_CLASS cls, CK_ATTRIBUTE_PTR attr)
+attribute_from_related (GkrPkPubkey *key, GType type, CK_ATTRIBUTE_PTR attr)
{
GkrPkObject *crt, *obj;
@@ -135,7 +136,7 @@ attribute_from_related (GkrPkPubkey *key, CK_OBJECT_CLASS cls, CK_ATTRIBUTE_PTR
return CKR_GENERAL_ERROR;
obj = GKR_PK_OBJECT (key);
- crt = gkr_pk_object_manager_find_by_id (obj->manager, cls, key->pub->keyid);
+ crt = gkr_pk_object_manager_find_by_id (obj->manager, type, key->pub->keyid);
if (crt == NULL)
return CKR_GENERAL_ERROR;
@@ -351,7 +352,7 @@ gkr_pk_pubkey_get_data_attribute (GkrPkObject* obj, CK_ATTRIBUTE_PTR attr)
case CKA_SUBJECT:
/* The subject of a related certificate */
- if (attribute_from_related (key, CKO_CERTIFICATE, attr) == CKR_OK)
+ if (attribute_from_related (key, GKR_TYPE_PKIX_CERT, attr) == CKR_OK)
return CKR_OK;
/* Empty subject */