summaryrefslogtreecommitdiff
path: root/src/dsa.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dsa.c')
-rw-r--r--src/dsa.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/dsa.c b/src/dsa.c
index 88d755c..f7f4ee3 100644
--- a/src/dsa.c
+++ b/src/dsa.c
@@ -199,3 +199,35 @@ p11t_dsa_tests(void)
{
p11t_slot_for_each_mech(CKM_DSA, test_dsa);
}
+
+void
+p11t_dsa_test_public_key(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE handle)
+{
+ CK_MECHANISM_TYPE_PTR mechanisms;
+ CK_ULONG n_mechanisms, i;
+
+ mechanisms = p11t_key_get_mechanisms (session, handle, &n_mechanisms);
+ if (!mechanisms)
+ return;
+
+ for (i = 0; i < n_mechanisms; ++i)
+ test_dsa_public_key (session, handle, mechanisms[i]);
+
+ free (mechanisms);
+}
+
+void
+p11t_dsa_test_private_key(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE handle)
+{
+ CK_MECHANISM_TYPE_PTR mechanisms;
+ CK_ULONG n_mechanisms, i;
+
+ mechanisms = p11t_key_get_mechanisms (session, handle, &n_mechanisms);
+ if (!mechanisms)
+ return;
+
+ for (i = 0; i < n_mechanisms; ++i)
+ test_dsa_private_key (session, handle, mechanisms[i]);
+
+ free (mechanisms);
+}