summaryrefslogtreecommitdiff
path: root/src/p11-tests.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/p11-tests.h')
-rw-r--r--src/p11-tests.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/p11-tests.h b/src/p11-tests.h
index b3ddc1e..c4a2e25 100644
--- a/src/p11-tests.h
+++ b/src/p11-tests.h
@@ -6,6 +6,8 @@
#include <assert.h>
#include <stdarg.h>
+#include <openssl/rsa.h>
+
#define CK_INVALID ((CK_ULONG)-1)
extern int p11t_test_unexpected;
@@ -29,6 +31,8 @@ void p11t_msg_prefix(const char *prefix);
* check.c
*/
+int p11t_check_fail(const char *message, ...);
+
int p11t_check_returns(const char *message, CK_RV have, CK_RV want);
#define p11t_check_padded(msg, padded) \
@@ -56,6 +60,16 @@ void p11t_config_parse(const char* filename);
void p11t_config_cleanup(void);
/* -------------------------------------------------------------------
+ * key.c
+ */
+
+CK_OBJECT_HANDLE p11t_key_get_public(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE key);
+
+CK_OBJECT_HANDLE p11t_key_get_private(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE key);
+
+RSA* p11t_key_export_public_rsa(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE key);
+
+/* -------------------------------------------------------------------
* module.c
*/
@@ -76,9 +90,21 @@ void p11t_module_finalize(void);
CK_OBJECT_HANDLE_PTR p11t_object_find(CK_SESSION_HANDLE session, CK_ATTRIBUTE_PTR attrs,
CK_ULONG n_attrs, CK_ULONG_PTR n_objects);
+int p11t_object_get(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE object,
+ CK_ATTRIBUTE_PTR attrs, CK_ULONG count);
+
+CK_OBJECT_HANDLE p11t_object_find_one(CK_SESSION_HANDLE session, CK_ATTRIBUTE_PTR attrs,
+ CK_ULONG n_attrs);
+
void p11t_object_tests(void);
/* -------------------------------------------------------------------
+ * rsa.c
+ */
+
+void p11t_rsa_tests(void);
+
+/* -------------------------------------------------------------------
* session.c
*/
@@ -104,5 +130,17 @@ CK_SLOT_ID p11t_slot_get_id(int index);
CK_SLOT_INFO_PTR p11t_slot_get_info(CK_SLOT_ID slot);
CK_TOKEN_INFO_PTR p11t_slot_get_token_info(CK_SLOT_ID slot);
+typedef void (*P11tSlotMechCallback)(CK_SLOT_ID slot, CK_MECHANISM_TYPE mech_type,
+ CK_MECHANISM_INFO_PTR mech_info);
+
+void p11t_slot_for_each_mech(CK_MECHANISM_TYPE mech_type, P11tSlotMechCallback callback);
+
+/* ------------------------------------------------------------------
+ * test-data.c
+ */
+
+extern const CK_BYTE p11t_test_data[];
+extern const CK_ULONG p11t_test_data_size;
+extern const CK_ULONG p11t_test_data_bits;
#endif /* P11TESTST_H_ */