Lines Matching refs:pb

38 static void generate_p12(PKCS12_BUILDER *pb, const PKCS12_ENC *mac);
105 PKCS12_BUILDER *pb = OPENSSL_malloc(sizeof(PKCS12_BUILDER));
106 if (!TEST_ptr(pb))
109 pb->filename = filename;
110 pb->success = 1;
111 return pb;
114 int end_pkcs12_builder(PKCS12_BUILDER *pb)
116 int result = pb->success;
118 OPENSSL_free(pb);
123 void start_pkcs12(PKCS12_BUILDER *pb)
125 pb->safes = NULL;
129 void end_pkcs12(PKCS12_BUILDER *pb)
131 if (!pb->success)
133 generate_p12(pb, NULL);
137 void end_pkcs12_with_mac(PKCS12_BUILDER *pb, const PKCS12_ENC *mac)
139 if (!pb->success)
141 generate_p12(pb, mac);
146 static void generate_p12(PKCS12_BUILDER *pb, const PKCS12_ENC *mac)
151 if (!pb->success)
154 pb->p12bio = BIO_new(BIO_s_mem());
155 if (!TEST_ptr(pb->p12bio)) {
156 pb->success = 0;
160 p12 = PKCS12_add_safes(pb->safes, 0);
162 p12 = PKCS12_add_safes_ex(pb->safes, 0, test_ctx, test_propq);
164 pb->success = 0;
167 sk_PKCS7_pop_free(pb->safes, PKCS7_free);
177 pb->success = 0;
181 i2d_PKCS12_bio(pb->p12bio, p12);
185 write_p12(p12, pb->filename);
273 void start_contentinfo(PKCS12_BUILDER *pb)
275 pb->bags = NULL;
279 void end_contentinfo(PKCS12_BUILDER *pb)
281 if (pb->success && pb->bags != NULL) {
282 if (!TEST_true(PKCS12_add_safe(&pb->safes, pb->bags, -1, 0, NULL)))
283 pb->success = 0;
285 sk_PKCS12_SAFEBAG_pop_free(pb->bags, PKCS12_SAFEBAG_free);
286 pb->bags = NULL;
290 void end_contentinfo_encrypted(PKCS12_BUILDER *pb, const PKCS12_ENC *enc)
292 if (pb->success && pb->bags != NULL) {
294 if (!TEST_true(PKCS12_add_safe(&pb->safes, pb->bags, enc->nid,
296 pb->success = 0;
298 if (!TEST_true(PKCS12_add_safe_ex(&pb->safes, pb->bags, enc->nid,
301 pb->success = 0;
304 sk_PKCS12_SAFEBAG_pop_free(pb->bags, PKCS12_SAFEBAG_free);
305 pb->bags = NULL;
375 void add_certbag(PKCS12_BUILDER *pb, const unsigned char *bytes, int len,
382 if (!pb->success)
387 pb->success = 0;
395 bag = PKCS12_add_cert(&pb->bags, cert);
397 pb->success = 0;
402 pb->success = 0;
409 void add_keybag(PKCS12_BUILDER *pb, const unsigned char *bytes, int len,
415 if (!pb->success)
422 pb->success = 0;
427 bag = PKCS12_add_key(&pb->bags, pkey, 0 /*keytype*/, enc->iter, enc->nid, enc->pass);
429 bag = PKCS12_add_key_ex(&pb->bags, pkey, 0 /*keytype*/, enc->iter, enc->nid, enc->pass,
432 pb->success = 0;
436 pb->success = 0;
441 void add_secretbag(PKCS12_BUILDER *pb, int secret_nid, const char *secret,
446 if (!pb->success)
451 bag = PKCS12_add_secret(&pb->bags, secret_nid, (const unsigned char *)secret, strlen(secret));
453 pb->success = 0;
457 pb->success = 0;
542 void check_certbag(PKCS12_BUILDER *pb, const unsigned char *bytes, int len,
549 if (!pb->success)
552 bag = sk_PKCS12_SAFEBAG_value(pb->bags, pb->bag_idx++);
554 pb->success = 0;
560 pb->success = 0;
565 pb->success = 0;
570 pb->success = 0;
576 void check_keybag(PKCS12_BUILDER *pb, const unsigned char *bytes, int len,
585 if (!pb->success)
588 bag = sk_PKCS12_SAFEBAG_value(pb->bags, pb->bag_idx++);
590 pb->success = 0;
595 pb->success = 0;
603 pb->success = 0;
614 pb->success = 0;
619 pb->success = 0;
626 pb->success = 0;
633 pb->success = 0;
639 void check_secretbag(PKCS12_BUILDER *pb, int secret_nid, const char *secret, const PKCS12_ATTR *attrs)
643 if (!pb->success)
646 bag = sk_PKCS12_SAFEBAG_value(pb->bags, pb->bag_idx++);
648 pb->success = 0;
656 pb->success = 0;
660 void start_check_pkcs12(PKCS12_BUILDER *pb)
664 if (!pb->success)
667 p12 = from_bio_p12(pb->p12bio, NULL);
669 pb->success = 0;
672 pb->safes = PKCS12_unpack_authsafes(p12);
673 if (!TEST_ptr(pb->safes))
674 pb->success = 0;
676 pb->safe_idx = 0;
680 void start_check_pkcs12_with_mac(PKCS12_BUILDER *pb, const PKCS12_ENC *mac)
684 if (!pb->success)
687 p12 = from_bio_p12(pb->p12bio, mac);
689 pb->success = 0;
692 pb->safes = PKCS12_unpack_authsafes(p12);
693 if (!TEST_ptr(pb->safes))
694 pb->success = 0;
696 pb->safe_idx = 0;
700 void start_check_pkcs12_file(PKCS12_BUILDER *pb)
704 if (!pb->success)
707 p12 = read_p12(pb->filename, NULL);
709 pb->success = 0;
712 pb->safes = PKCS12_unpack_authsafes(p12);
713 if (!TEST_ptr(pb->safes))
714 pb->success = 0;
716 pb->safe_idx = 0;
720 void start_check_pkcs12_file_with_mac(PKCS12_BUILDER *pb, const PKCS12_ENC *mac)
724 if (!pb->success)
727 p12 = read_p12(pb->filename, mac);
729 pb->success = 0;
732 pb->safes = PKCS12_unpack_authsafes(p12);
733 if (!TEST_ptr(pb->safes))
734 pb->success = 0;
736 pb->safe_idx = 0;
740 void end_check_pkcs12(PKCS12_BUILDER *pb)
742 if (!pb->success)
745 sk_PKCS7_pop_free(pb->safes, PKCS7_free);
749 void start_check_contentinfo(PKCS12_BUILDER *pb)
751 if (!pb->success)
754 pb->bag_idx = 0;
755 pb->bags = decode_contentinfo(pb->safes, pb->safe_idx++, NULL);
756 if (!TEST_ptr(pb->bags)) {
757 pb->success = 0;
760 TEST_info("Decoding %d bags", sk_PKCS12_SAFEBAG_num(pb->bags));
763 void start_check_contentinfo_encrypted(PKCS12_BUILDER *pb, const PKCS12_ENC *enc)
765 if (!pb->success)
768 pb->bag_idx = 0;
769 pb->bags = decode_contentinfo(pb->safes, pb->safe_idx++, enc);
770 if (!TEST_ptr(pb->bags)) {
771 pb->success = 0;
774 TEST_info("Decoding %d bags", sk_PKCS12_SAFEBAG_num(pb->bags));
778 void end_check_contentinfo(PKCS12_BUILDER *pb)
780 if (!pb->success)
783 if (!TEST_int_eq(sk_PKCS12_SAFEBAG_num(pb->bags), pb->bag_idx))
784 pb->success = 0;
785 sk_PKCS12_SAFEBAG_pop_free(pb->bags, PKCS12_SAFEBAG_free);
786 pb->bags = NULL;