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