changeset 20326:71285f4d97dd

dcrypt: Add test for public key loading
author Aki Tuomi <aki.tuomi@dovecot.fi>
date Tue, 14 Jun 2016 12:08:49 +0300
parents 6a0fa21a3228
children 09d9165726b7
files src/lib-dcrypt/test-crypto.c
diffstat 1 files changed, 21 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-dcrypt/test-crypto.c	Tue Jun 14 12:08:34 2016 +0300
+++ b/src/lib-dcrypt/test-crypto.c	Tue Jun 14 12:08:49 2016 +0300
@@ -285,6 +285,26 @@
 	test_end();
 }
 
+static
+void test_load_v2_public_key(void)
+{
+	struct dcrypt_public_key *pub;
+	const char *error;
+
+	test_begin("test_load_v2_public_key");
+	const char *key = "2\t305e301006072a8648ce3d020106052b81040026034a000303a9288126a4ef239199d7ebe784d0b81b545df40e1feac5980965914524005fd11d18cf71cfd875a037172275dda474bcf6a96fd4824c9019b108e5258c0548ee70c6ce1d67ca5d";
+
+	test_assert(dcrypt_key_load_public(&pub, DCRYPT_FORMAT_DOVECOT, key, &error));
+
+	buffer_t *tmp = buffer_create_dynamic(default_pool, 256);
+
+	test_assert(dcrypt_key_store_public(pub, DCRYPT_FORMAT_DOVECOT, tmp, &error));
+
+	test_assert(strcmp(key, str_c(tmp))==0);
+
+	test_end();
+}
+
 int main(void) {
 	dcrypt_initialize("openssl", NULL);
 	random_init();
@@ -294,6 +314,7 @@
 		test_hmac_test_vectors,
 		test_load_v1_key,
 		test_load_v2_key,
+		test_load_v2_public_key,
 		NULL
 	};