diff options
Diffstat (limited to 'src/dsa.c')
-rw-r--r-- | src/dsa.c | 32 |
1 files changed, 32 insertions, 0 deletions
@@ -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); +} |