Mercurial > dovecot > core-2.2
comparison src/lib-dcrypt/test-crypto.c @ 20566:6ebb03fc9a25
dcrypt: Update API for testing
author | Aki Tuomi <aki.tuomi@dovecot.fi> |
---|---|
date | Fri, 15 Jul 2016 16:31:01 +0300 |
parents | 43c279a779f5 |
children | fe9af2fb0dae |
comparison
equal
deleted
inserted
replaced
20565:b550a486b502 | 20566:6ebb03fc9a25 |
---|---|
271 | 271 |
272 ret = dcrypt_key_load_private(&pkey, format, data1, NULL, pkey2, &error); | 272 ret = dcrypt_key_load_private(&pkey, format, data1, NULL, pkey2, &error); |
273 test_assert(ret == TRUE); | 273 test_assert(ret == TRUE); |
274 test_assert(error == NULL); | 274 test_assert(error == NULL); |
275 | 275 |
276 dcrypt_key_free_private(&pkey2); | 276 dcrypt_key_unref_private(&pkey2); |
277 dcrypt_key_free_private(&pkey); | 277 dcrypt_key_unref_private(&pkey); |
278 | 278 |
279 test_end(); | 279 test_end(); |
280 } | 280 } |
281 | 281 |
282 static | 282 static |
298 test_assert(dcrypt_key_store_public(pubkey, DCRYPT_FORMAT_DOVECOT, key_1, NULL)); | 298 test_assert(dcrypt_key_store_public(pubkey, DCRYPT_FORMAT_DOVECOT, key_1, NULL)); |
299 buffer_set_used_size(key_1, 0); | 299 buffer_set_used_size(key_1, 0); |
300 dcrypt_key_id_public(pubkey, "sha256", key_1, &error); | 300 dcrypt_key_id_public(pubkey, "sha256", key_1, &error); |
301 test_assert(strcmp("792caad4d38c9eb2134a0cbc844eae386116de096a0ccafc98479825fc99b6a1", binary_to_hex(key_1->data, key_1->used)) == 0); | 301 test_assert(strcmp("792caad4d38c9eb2134a0cbc844eae386116de096a0ccafc98479825fc99b6a1", binary_to_hex(key_1->data, key_1->used)) == 0); |
302 | 302 |
303 dcrypt_key_free_public(&pubkey); | 303 dcrypt_key_unref_public(&pubkey); |
304 pkey2 = NULL; | 304 pkey2 = NULL; |
305 | 305 |
306 test_assert(dcrypt_key_load_private(&pkey2, DCRYPT_FORMAT_DOVECOT, "1\t716\t1\t0567e6bf9579813ae967314423b0fceb14bda24749303923de9a9bb9370e0026f995901a57e63113eeb2baf0c940e978d00686cbb52bd5014bc318563375876255\t0300E46DA2125427BE968EB3B649910CDC4C405E5FFDE18D433A97CABFEE28CEEFAE9EE356C792004FFB80981D67E741B8CC036A34235A8D2E1F98D1658CFC963D07EB\td0cfaca5d335f9edc41c84bb47465184cb0e2ec3931bebfcea4dd433615e77a0\t7c9a1039ea2e4fed73e81dd3ffc3fa22ea4a28352939adde7bf8ea858b00fa4f", NULL, pkey, &error)); | 306 test_assert(dcrypt_key_load_private(&pkey2, DCRYPT_FORMAT_DOVECOT, "1\t716\t1\t0567e6bf9579813ae967314423b0fceb14bda24749303923de9a9bb9370e0026f995901a57e63113eeb2baf0c940e978d00686cbb52bd5014bc318563375876255\t0300E46DA2125427BE968EB3B649910CDC4C405E5FFDE18D433A97CABFEE28CEEFAE9EE356C792004FFB80981D67E741B8CC036A34235A8D2E1F98D1658CFC963D07EB\td0cfaca5d335f9edc41c84bb47465184cb0e2ec3931bebfcea4dd433615e77a0\t7c9a1039ea2e4fed73e81dd3ffc3fa22ea4a28352939adde7bf8ea858b00fa4f", NULL, pkey, &error)); |
307 if (pkey2 != NULL) { | 307 if (pkey2 != NULL) { |
308 buffer_set_used_size(key_1, 0); | 308 buffer_set_used_size(key_1, 0); |
312 test_assert(dcrypt_key_store_public(pubkey, DCRYPT_FORMAT_DOVECOT, key_1, NULL)); | 312 test_assert(dcrypt_key_store_public(pubkey, DCRYPT_FORMAT_DOVECOT, key_1, NULL)); |
313 buffer_set_used_size(key_1, 0); | 313 buffer_set_used_size(key_1, 0); |
314 test_assert(dcrypt_key_id_public_old(pubkey, key_1, &error)); | 314 test_assert(dcrypt_key_id_public_old(pubkey, key_1, &error)); |
315 test_assert(strcmp("7c9a1039ea2e4fed73e81dd3ffc3fa22ea4a28352939adde7bf8ea858b00fa4f", binary_to_hex(key_1->data, key_1->used)) == 0); | 315 test_assert(strcmp("7c9a1039ea2e4fed73e81dd3ffc3fa22ea4a28352939adde7bf8ea858b00fa4f", binary_to_hex(key_1->data, key_1->used)) == 0); |
316 | 316 |
317 dcrypt_key_free_public(&pubkey); | 317 dcrypt_key_unref_public(&pubkey); |
318 dcrypt_key_free_private(&pkey2); | 318 dcrypt_key_unref_private(&pkey2); |
319 } | 319 } |
320 dcrypt_key_free_private(&pkey); | 320 dcrypt_key_unref_private(&pkey); |
321 } | 321 } |
322 | 322 |
323 test_end(); | 323 test_end(); |
324 } | 324 } |
325 | 325 |
357 test_assert(ret == TRUE); | 357 test_assert(ret == TRUE); |
358 test_assert(error == NULL); | 358 test_assert(error == NULL); |
359 | 359 |
360 test_assert(dcrypt_key_type_public(pub_key) == DCRYPT_KEY_EC); | 360 test_assert(dcrypt_key_type_public(pub_key) == DCRYPT_KEY_EC); |
361 | 361 |
362 dcrypt_key_free_public(&pub_key); | 362 dcrypt_key_unref_public(&pub_key); |
363 test_assert(pub_key == NULL); | 363 test_assert(pub_key == NULL); |
364 | 364 |
365 test_end(); | 365 test_end(); |
366 } | 366 } |
367 | 367 |
392 | 392 |
393 test_assert_idx(dcrypt_key_load_private(&priv, DCRYPT_FORMAT_DOVECOT, keys[1], NULL, NULL, &error), 1); | 393 test_assert_idx(dcrypt_key_load_private(&priv, DCRYPT_FORMAT_DOVECOT, keys[1], NULL, NULL, &error), 1); |
394 test_assert_idx(dcrypt_key_store_private(priv, DCRYPT_FORMAT_DOVECOT, NULL, tmp, NULL, NULL, &error), 1); | 394 test_assert_idx(dcrypt_key_store_private(priv, DCRYPT_FORMAT_DOVECOT, NULL, tmp, NULL, NULL, &error), 1); |
395 test_assert_idx(strcmp(str_c(tmp), keys[1])==0, 1); | 395 test_assert_idx(strcmp(str_c(tmp), keys[1])==0, 1); |
396 buffer_set_used_size(tmp, 0); | 396 buffer_set_used_size(tmp, 0); |
397 dcrypt_key_free_private(&priv); | 397 dcrypt_key_unref_private(&priv); |
398 | 398 |
399 test_assert_idx(dcrypt_key_load_private(&priv, DCRYPT_FORMAT_DOVECOT, keys[2], "This Is Sparta", NULL, &error), 2); | 399 test_assert_idx(dcrypt_key_load_private(&priv, DCRYPT_FORMAT_DOVECOT, keys[2], "This Is Sparta", NULL, &error), 2); |
400 test_assert_idx(dcrypt_key_store_private(priv, DCRYPT_FORMAT_DOVECOT, "aes-256-ctr", tmp, "This Is Sparta", NULL, &error), 2); | 400 test_assert_idx(dcrypt_key_store_private(priv, DCRYPT_FORMAT_DOVECOT, "aes-256-ctr", tmp, "This Is Sparta", NULL, &error), 2); |
401 buffer_set_used_size(tmp, 0); | 401 buffer_set_used_size(tmp, 0); |
402 dcrypt_key_free_private(&priv); | 402 dcrypt_key_unref_private(&priv); |
403 | 403 |
404 struct dcrypt_public_key *pub = NULL; | 404 struct dcrypt_public_key *pub = NULL; |
405 dcrypt_key_convert_private_to_public(priv2, &pub); | 405 dcrypt_key_convert_private_to_public(priv2, &pub); |
406 test_assert_idx(dcrypt_key_load_private(&priv, DCRYPT_FORMAT_DOVECOT, keys[3], NULL, priv2, &error), 3); | 406 test_assert_idx(dcrypt_key_load_private(&priv, DCRYPT_FORMAT_DOVECOT, keys[3], NULL, priv2, &error), 3); |
407 test_assert_idx(dcrypt_key_store_private(priv, DCRYPT_FORMAT_DOVECOT, "ecdh-aes-256-ctr", tmp, NULL, pub, &error), 3); | 407 test_assert_idx(dcrypt_key_store_private(priv, DCRYPT_FORMAT_DOVECOT, "ecdh-aes-256-ctr", tmp, NULL, pub, &error), 3); |
408 buffer_set_used_size(tmp, 0); | 408 buffer_set_used_size(tmp, 0); |
409 dcrypt_key_free_private(&priv2); | 409 dcrypt_key_unref_private(&priv2); |
410 dcrypt_key_free_private(&priv); | 410 dcrypt_key_unref_private(&priv); |
411 dcrypt_key_free_public(&pub); | 411 dcrypt_key_unref_public(&pub); |
412 | 412 |
413 buffer_free(&tmp); | 413 buffer_free(&tmp); |
414 | 414 |
415 if (error != NULL) error = NULL; | 415 if (error != NULL) error = NULL; |
416 | 416 |
432 | 432 |
433 if (pub != NULL) { | 433 if (pub != NULL) { |
434 test_assert(dcrypt_key_store_public(pub, DCRYPT_FORMAT_DOVECOT, tmp, &error)); | 434 test_assert(dcrypt_key_store_public(pub, DCRYPT_FORMAT_DOVECOT, tmp, &error)); |
435 test_assert(strcmp(key, str_c(tmp))==0); | 435 test_assert(strcmp(key, str_c(tmp))==0); |
436 buffer_free(&tmp); | 436 buffer_free(&tmp); |
437 dcrypt_key_free_public(&pub); | 437 dcrypt_key_unref_public(&pub); |
438 } | 438 } |
439 | 439 |
440 test_end(); | 440 test_end(); |
441 } | 441 } |
442 | 442 |
525 | 525 |
526 test_assert(encryption_type == DCRYPT_KEY_ENCRYPTION_TYPE_NONE); | 526 test_assert(encryption_type == DCRYPT_KEY_ENCRYPTION_TYPE_NONE); |
527 test_assert(encryption_key_hash == NULL); | 527 test_assert(encryption_key_hash == NULL); |
528 test_assert(key_hash == NULL); | 528 test_assert(key_hash == NULL); |
529 | 529 |
530 dcrypt_keypair_free(&pair); | 530 dcrypt_keypair_unref(&pair); |
531 buffer_free(&buf); | 531 buffer_free(&buf); |
532 | 532 |
533 test_end(); | 533 test_end(); |
534 } | 534 } |
535 | 535 |