VirtualBox

source: vbox/trunk/src/libs/openssl-3.0.3/test/cmsapitest.c@ 95218

最後變更 在這個檔案從95218是 94320,由 vboxsync 提交於 3 年 前

libs/openssl-3.0.1: Export to OSE and fix copyright headers in Makefiles, bugref:10128

檔案大小: 14.1 KB
 
1/*
2 * Copyright 2018-2021 The OpenSSL Project Authors. All Rights Reserved.
3 *
4 * Licensed under the Apache License 2.0 (the "License"). You may not use
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
8 */
9
10#include <string.h>
11
12#include <openssl/cms.h>
13#include <openssl/bio.h>
14#include <openssl/x509.h>
15#include <openssl/pem.h>
16
17#include "testutil.h"
18
19static X509 *cert = NULL;
20static EVP_PKEY *privkey = NULL;
21
22static int test_encrypt_decrypt(const EVP_CIPHER *cipher)
23{
24 int testresult = 0;
25 STACK_OF(X509) *certstack = sk_X509_new_null();
26 const char *msg = "Hello world";
27 BIO *msgbio = BIO_new_mem_buf(msg, strlen(msg));
28 BIO *outmsgbio = BIO_new(BIO_s_mem());
29 CMS_ContentInfo* content = NULL;
30 char buf[80];
31
32 if (!TEST_ptr(certstack) || !TEST_ptr(msgbio) || !TEST_ptr(outmsgbio))
33 goto end;
34
35 if (!TEST_int_gt(sk_X509_push(certstack, cert), 0))
36 goto end;
37
38 content = CMS_encrypt(certstack, msgbio, cipher, CMS_TEXT);
39 if (!TEST_ptr(content))
40 goto end;
41
42 if (!TEST_true(CMS_decrypt(content, privkey, cert, NULL, outmsgbio,
43 CMS_TEXT)))
44 goto end;
45
46 /* Check we got the message we first started with */
47 if (!TEST_int_eq(BIO_gets(outmsgbio, buf, sizeof(buf)), strlen(msg))
48 || !TEST_int_eq(strcmp(buf, msg), 0))
49 goto end;
50
51 testresult = 1;
52 end:
53 sk_X509_free(certstack);
54 BIO_free(msgbio);
55 BIO_free(outmsgbio);
56 CMS_ContentInfo_free(content);
57
58 return testresult;
59}
60
61static int test_encrypt_decrypt_aes_cbc(void)
62{
63 return test_encrypt_decrypt(EVP_aes_128_cbc());
64}
65
66static int test_encrypt_decrypt_aes_128_gcm(void)
67{
68 return test_encrypt_decrypt(EVP_aes_128_gcm());
69}
70
71static int test_encrypt_decrypt_aes_192_gcm(void)
72{
73 return test_encrypt_decrypt(EVP_aes_192_gcm());
74}
75
76static int test_encrypt_decrypt_aes_256_gcm(void)
77{
78 return test_encrypt_decrypt(EVP_aes_256_gcm());
79}
80
81static int test_d2i_CMS_bio_NULL(void)
82{
83 BIO *bio;
84 CMS_ContentInfo *cms = NULL;
85 int ret = 0;
86
87 /*
88 * Test data generated using:
89 * openssl cms -sign -md sha256 -signer ./test/certs/rootCA.pem -inkey \
90 * ./test/certs/rootCA.key -nodetach -outform DER -in ./in.txt -out out.der \
91 * -nosmimecap
92 */
93 static const unsigned char cms_data[] = {
94 0x30, 0x82, 0x05, 0xc5, 0x06, 0x09, 0x2a, 0x86,
95 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0,
96 0x82, 0x05, 0xb6, 0x30, 0x82, 0x05, 0xb2, 0x02,
97 0x01, 0x01, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x09,
98 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02,
99 0x01, 0x30, 0x1c, 0x06, 0x09, 0x2a, 0x86, 0x48,
100 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x0f,
101 0x04, 0x0d, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20,
102 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x0d, 0x0a, 0xa0,
103 0x82, 0x03, 0x83, 0x30, 0x82, 0x03, 0x7f, 0x30,
104 0x82, 0x02, 0x67, 0xa0, 0x03, 0x02, 0x01, 0x02,
105 0x02, 0x09, 0x00, 0x88, 0x43, 0x29, 0xcb, 0xc2,
106 0xeb, 0x15, 0x9a, 0x30, 0x0d, 0x06, 0x09, 0x2a,
107 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
108 0x05, 0x00, 0x30, 0x56, 0x31, 0x0b, 0x30, 0x09,
109 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x41,
110 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55,
111 0x04, 0x08, 0x0c, 0x0a, 0x53, 0x6f, 0x6d, 0x65,
112 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x31, 0x21,
113 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c,
114 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65,
115 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 0x69, 0x74,
116 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, 0x4c, 0x74,
117 0x64, 0x31, 0x0f, 0x30, 0x0d, 0x06, 0x03, 0x55,
118 0x04, 0x03, 0x0c, 0x06, 0x72, 0x6f, 0x6f, 0x74,
119 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x35,
120 0x30, 0x37, 0x30, 0x32, 0x31, 0x33, 0x31, 0x35,
121 0x31, 0x31, 0x5a, 0x17, 0x0d, 0x33, 0x35, 0x30,
122 0x37, 0x30, 0x32, 0x31, 0x33, 0x31, 0x35, 0x31,
123 0x31, 0x5a, 0x30, 0x56, 0x31, 0x0b, 0x30, 0x09,
124 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x41,
125 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55,
126 0x04, 0x08, 0x0c, 0x0a, 0x53, 0x6f, 0x6d, 0x65,
127 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x31, 0x21,
128 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c,
129 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65,
130 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 0x69, 0x74,
131 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, 0x4c, 0x74,
132 0x64, 0x31, 0x0f, 0x30, 0x0d, 0x06, 0x03, 0x55,
133 0x04, 0x03, 0x0c, 0x06, 0x72, 0x6f, 0x6f, 0x74,
134 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d,
135 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
136 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01,
137 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82,
138 0x01, 0x01, 0x00, 0xc0, 0xf1, 0x6b, 0x77, 0x88,
139 0xac, 0x35, 0xdf, 0xfb, 0x73, 0x53, 0x2f, 0x92,
140 0x80, 0x2f, 0x74, 0x16, 0x32, 0x4d, 0xf5, 0x10,
141 0x20, 0x6f, 0x6c, 0x3a, 0x8e, 0xd1, 0xdc, 0x6b,
142 0xe1, 0x2e, 0x3e, 0xc3, 0x04, 0x0f, 0xbf, 0x9b,
143 0xc4, 0xc9, 0x12, 0xd1, 0xe4, 0x0b, 0x45, 0x97,
144 0xe5, 0x06, 0xcd, 0x66, 0x3a, 0xe1, 0xe0, 0xe2,
145 0x2b, 0xdf, 0xa2, 0xc4, 0xec, 0x7b, 0xd3, 0x3d,
146 0x3c, 0x8a, 0xff, 0x5e, 0x74, 0xa0, 0xab, 0xa7,
147 0x03, 0x6a, 0x16, 0x5b, 0x5e, 0x92, 0xc4, 0x7e,
148 0x5b, 0x79, 0x8a, 0x69, 0xd4, 0xbc, 0x83, 0x5e,
149 0xae, 0x42, 0x92, 0x74, 0xa5, 0x2b, 0xe7, 0x00,
150 0xc1, 0xa9, 0xdc, 0xd5, 0xb1, 0x53, 0x07, 0x0f,
151 0x73, 0xf7, 0x8e, 0xad, 0x14, 0x3e, 0x25, 0x9e,
152 0xe5, 0x1e, 0xe6, 0xcc, 0x91, 0xcd, 0x95, 0x0c,
153 0x80, 0x44, 0x20, 0xc3, 0xfd, 0x17, 0xcf, 0x91,
154 0x3d, 0x63, 0x10, 0x1c, 0x14, 0x5b, 0xfb, 0xc3,
155 0xa8, 0xc1, 0x88, 0xb2, 0x77, 0xff, 0x9c, 0xdb,
156 0xfc, 0x6a, 0x44, 0x44, 0x44, 0xf7, 0x85, 0xec,
157 0x08, 0x2c, 0xd4, 0xdf, 0x81, 0xa3, 0x79, 0xc9,
158 0xfe, 0x1e, 0x9b, 0x93, 0x16, 0x53, 0xb7, 0x97,
159 0xab, 0xbe, 0x4f, 0x1a, 0xa5, 0xe2, 0xfa, 0x46,
160 0x05, 0xe4, 0x0d, 0x9c, 0x2a, 0xa4, 0xcc, 0xb9,
161 0x1e, 0x21, 0xa0, 0x6c, 0xc4, 0xab, 0x59, 0xb0,
162 0x40, 0x39, 0xbb, 0xf9, 0x88, 0xad, 0xfd, 0xdf,
163 0x8d, 0xb4, 0x0b, 0xaf, 0x7e, 0x41, 0xe0, 0x21,
164 0x3c, 0xc8, 0x33, 0x45, 0x49, 0x84, 0x2f, 0x93,
165 0x06, 0xee, 0xfd, 0x4f, 0xed, 0x4f, 0xf3, 0xbc,
166 0x9b, 0xde, 0xfc, 0x25, 0x5e, 0x55, 0xd5, 0x75,
167 0xd4, 0xc5, 0x7b, 0x3a, 0x40, 0x35, 0x06, 0x9f,
168 0xc4, 0x84, 0xb4, 0x6c, 0x93, 0x0c, 0xaf, 0x37,
169 0x5a, 0xaf, 0xb6, 0x41, 0x4d, 0x26, 0x23, 0x1c,
170 0xb8, 0x02, 0xb3, 0x02, 0x03, 0x01, 0x00, 0x01,
171 0xa3, 0x50, 0x30, 0x4e, 0x30, 0x0c, 0x06, 0x03,
172 0x55, 0x1d, 0x13, 0x04, 0x05, 0x30, 0x03, 0x01,
173 0x01, 0xff, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
174 0x0e, 0x04, 0x16, 0x04, 0x14, 0x85, 0x56, 0x89,
175 0x35, 0xe2, 0x9f, 0x00, 0x1a, 0xe1, 0x86, 0x03,
176 0x0b, 0x4b, 0xaf, 0x76, 0x12, 0x6b, 0x33, 0x6d,
177 0xfd, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
178 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x85, 0x56,
179 0x89, 0x35, 0xe2, 0x9f, 0x00, 0x1a, 0xe1, 0x86,
180 0x03, 0x0b, 0x4b, 0xaf, 0x76, 0x12, 0x6b, 0x33,
181 0x6d, 0xfd, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
182 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05,
183 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x32, 0x0a,
184 0xbf, 0x2a, 0x0a, 0xe2, 0xbb, 0x4f, 0x43, 0xce,
185 0x88, 0xda, 0x5a, 0x39, 0x10, 0x37, 0x80, 0xbb,
186 0x37, 0x2d, 0x5e, 0x2d, 0x88, 0xdd, 0x26, 0x69,
187 0x9c, 0xe7, 0xb4, 0x98, 0x20, 0xb1, 0x25, 0xe6,
188 0x61, 0x59, 0x6d, 0x12, 0xec, 0x9b, 0x87, 0xbe,
189 0x57, 0xe1, 0x12, 0x05, 0xc5, 0x04, 0xf1, 0x17,
190 0xce, 0x14, 0xb8, 0x1c, 0x92, 0xd4, 0x95, 0x95,
191 0x2c, 0x5b, 0x28, 0x89, 0xfb, 0x72, 0x9c, 0x20,
192 0xd3, 0x32, 0x81, 0xa8, 0x85, 0xec, 0xc8, 0x08,
193 0x7b, 0xa8, 0x59, 0x5b, 0x3a, 0x6c, 0x31, 0xab,
194 0x52, 0xe2, 0x66, 0xcd, 0x14, 0x49, 0x5c, 0xf3,
195 0xd3, 0x3e, 0x62, 0xbc, 0x91, 0x16, 0xb4, 0x1c,
196 0xf5, 0xdd, 0x54, 0xaa, 0x3c, 0x61, 0x97, 0x79,
197 0xac, 0xe4, 0xc8, 0x43, 0x35, 0xc3, 0x0f, 0xfc,
198 0xf3, 0x70, 0x1d, 0xaf, 0xf0, 0x9c, 0x8a, 0x2a,
199 0x92, 0x93, 0x48, 0xaa, 0xd0, 0xe8, 0x47, 0xbe,
200 0x35, 0xc1, 0xc6, 0x7b, 0x6d, 0xda, 0xfa, 0x5d,
201 0x57, 0x45, 0xf3, 0xea, 0x41, 0x8f, 0x36, 0xc1,
202 0x3c, 0xf4, 0x52, 0x7f, 0x6e, 0x31, 0xdd, 0xba,
203 0x9a, 0xbc, 0x70, 0x56, 0x71, 0x38, 0xdc, 0x49,
204 0x57, 0x0c, 0xfd, 0x91, 0x17, 0xc5, 0xea, 0x87,
205 0xe5, 0x23, 0x74, 0x19, 0xb2, 0xb6, 0x99, 0x0c,
206 0x6b, 0xa2, 0x05, 0xf8, 0x51, 0x68, 0xed, 0x97,
207 0xe0, 0xdf, 0x62, 0xf9, 0x7e, 0x7a, 0x3a, 0x44,
208 0x71, 0x83, 0x57, 0x28, 0x49, 0x88, 0x69, 0xb5,
209 0x14, 0x1e, 0xda, 0x46, 0xe3, 0x6e, 0x78, 0xe1,
210 0xcb, 0x8f, 0xb5, 0x98, 0xb3, 0x2d, 0x6e, 0x5b,
211 0xb7, 0xf6, 0x93, 0x24, 0x14, 0x1f, 0xa4, 0xf6,
212 0x69, 0xbd, 0xff, 0x4c, 0x52, 0x50, 0x02, 0xc5,
213 0x43, 0x8d, 0x14, 0xe2, 0xd0, 0x75, 0x9f, 0x12,
214 0x5e, 0x94, 0x89, 0xd1, 0xef, 0x77, 0x89, 0x7d,
215 0x89, 0xd9, 0x9e, 0x76, 0x99, 0x24, 0x31, 0x82,
216 0x01, 0xf7, 0x30, 0x82, 0x01, 0xf3, 0x02, 0x01,
217 0x01, 0x30, 0x63, 0x30, 0x56, 0x31, 0x0b, 0x30,
218 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
219 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03,
220 0x55, 0x04, 0x08, 0x0c, 0x0a, 0x53, 0x6f, 0x6d,
221 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x31,
222 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a,
223 0x0c, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e,
224 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 0x69,
225 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, 0x4c,
226 0x74, 0x64, 0x31, 0x0f, 0x30, 0x0d, 0x06, 0x03,
227 0x55, 0x04, 0x03, 0x0c, 0x06, 0x72, 0x6f, 0x6f,
228 0x74, 0x43, 0x41, 0x02, 0x09, 0x00, 0x88, 0x43,
229 0x29, 0xcb, 0xc2, 0xeb, 0x15, 0x9a, 0x30, 0x0b,
230 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03,
231 0x04, 0x02, 0x01, 0xa0, 0x69, 0x30, 0x18, 0x06,
232 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
233 0x09, 0x03, 0x31, 0x0b, 0x06, 0x09, 0x2a, 0x86,
234 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0x30,
235 0x1c, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
236 0x0d, 0x01, 0x09, 0x05, 0x31, 0x0f, 0x17, 0x0d,
237 0x32, 0x30, 0x31, 0x32, 0x31, 0x31, 0x30, 0x39,
238 0x30, 0x30, 0x31, 0x33, 0x5a, 0x30, 0x2f, 0x06,
239 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
240 0x09, 0x04, 0x31, 0x22, 0x04, 0x20, 0xb0, 0x80,
241 0x22, 0xd3, 0x15, 0xcf, 0x1e, 0xb1, 0x2d, 0x26,
242 0x65, 0xbd, 0xed, 0x0e, 0x6a, 0xf4, 0x06, 0x53,
243 0xc0, 0xa0, 0xbe, 0x97, 0x52, 0x32, 0xfb, 0x49,
244 0xbc, 0xbd, 0x02, 0x1c, 0xfc, 0x36, 0x30, 0x0d,
245 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
246 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82, 0x01,
247 0x00, 0x37, 0x44, 0x39, 0x08, 0xb2, 0x19, 0x52,
248 0x35, 0x9c, 0xd0, 0x67, 0x87, 0xae, 0xb8, 0x1c,
249 0x80, 0xf4, 0x03, 0x29, 0x2e, 0xe3, 0x76, 0x4a,
250 0xb0, 0x98, 0x10, 0x00, 0x9a, 0x30, 0xdb, 0x05,
251 0x28, 0x53, 0x34, 0x31, 0x14, 0xbd, 0x87, 0xb9,
252 0x4d, 0x45, 0x07, 0x97, 0xa3, 0x57, 0x0b, 0x7e,
253 0xd1, 0x67, 0xfb, 0x4e, 0x0f, 0x5b, 0x90, 0xb2,
254 0x6f, 0xe6, 0xce, 0x49, 0xdd, 0x72, 0x46, 0x71,
255 0x26, 0xa1, 0x1b, 0x98, 0x23, 0x7d, 0x69, 0x73,
256 0x84, 0xdc, 0xf9, 0xd2, 0x1c, 0x6d, 0xf6, 0xf5,
257 0x17, 0x49, 0x6e, 0x9d, 0x4d, 0xf1, 0xe2, 0x43,
258 0x29, 0x53, 0x55, 0xa5, 0x22, 0x1e, 0x89, 0x2c,
259 0xaf, 0xf2, 0x43, 0x47, 0xd5, 0xfa, 0xad, 0xe7,
260 0x89, 0x60, 0xbf, 0x96, 0x35, 0x6f, 0xc2, 0x99,
261 0xb7, 0x55, 0xc5, 0xe3, 0x04, 0x25, 0x1b, 0xf6,
262 0x7e, 0xf2, 0x2b, 0x14, 0xa9, 0x57, 0x96, 0xbe,
263 0xbd, 0x6e, 0x95, 0x44, 0x94, 0xbd, 0xaf, 0x9a,
264 0x6d, 0x77, 0x55, 0x5e, 0x6c, 0xf6, 0x32, 0x37,
265 0xec, 0xef, 0xe5, 0x81, 0xb0, 0xe3, 0x35, 0xc7,
266 0x86, 0xea, 0x47, 0x59, 0x38, 0xb6, 0x16, 0xfb,
267 0x1d, 0x10, 0x55, 0x48, 0xb1, 0x44, 0x33, 0xde,
268 0xf6, 0x29, 0xbe, 0xbf, 0xbc, 0x71, 0x3e, 0x49,
269 0xba, 0xe7, 0x9f, 0x4d, 0x6c, 0xfb, 0xec, 0xd2,
270 0xe0, 0x12, 0xa9, 0x7c, 0xc9, 0x9a, 0x7b, 0x85,
271 0x83, 0xb8, 0xca, 0xdd, 0xf6, 0xb7, 0x15, 0x75,
272 0x7b, 0x4a, 0x69, 0xcf, 0x0a, 0xc7, 0x80, 0x01,
273 0xe7, 0x94, 0x16, 0x7f, 0x8d, 0x3c, 0xfa, 0x1f,
274 0x05, 0x71, 0x76, 0x15, 0xb0, 0xf6, 0x61, 0x30,
275 0x58, 0x16, 0xbe, 0x1b, 0xd1, 0x93, 0xc4, 0x1a,
276 0x91, 0x0c, 0x48, 0xe2, 0x1c, 0x8e, 0xa5, 0xc5,
277 0xa7, 0x81, 0x44, 0x48, 0x3b, 0x10, 0xc2, 0x74,
278 0x07, 0xdf, 0xa8, 0xae, 0x57, 0xee, 0x7f, 0xe3,
279 0x6a
280 };
281
282 ret = TEST_ptr(bio = BIO_new_mem_buf(cms_data, sizeof(cms_data)))
283 && TEST_ptr(cms = d2i_CMS_bio(bio, NULL))
284 && TEST_true(CMS_verify(cms, NULL, NULL, NULL, NULL,
285 CMS_NO_SIGNER_CERT_VERIFY));
286 CMS_ContentInfo_free(cms);
287 BIO_free(bio);
288 return ret;
289}
290
291OPT_TEST_DECLARE_USAGE("certfile privkeyfile\n")
292
293int setup_tests(void)
294{
295 char *certin = NULL, *privkeyin = NULL;
296 BIO *certbio = NULL, *privkeybio = NULL;
297
298 if (!test_skip_common_options()) {
299 TEST_error("Error parsing test options\n");
300 return 0;
301 }
302
303 if (!TEST_ptr(certin = test_get_argument(0))
304 || !TEST_ptr(privkeyin = test_get_argument(1)))
305 return 0;
306
307 certbio = BIO_new_file(certin, "r");
308 if (!TEST_ptr(certbio))
309 return 0;
310 if (!TEST_true(PEM_read_bio_X509(certbio, &cert, NULL, NULL))) {
311 BIO_free(certbio);
312 return 0;
313 }
314 BIO_free(certbio);
315
316 privkeybio = BIO_new_file(privkeyin, "r");
317 if (!TEST_ptr(privkeybio)) {
318 X509_free(cert);
319 cert = NULL;
320 return 0;
321 }
322 if (!TEST_true(PEM_read_bio_PrivateKey(privkeybio, &privkey, NULL, NULL))) {
323 BIO_free(privkeybio);
324 X509_free(cert);
325 cert = NULL;
326 return 0;
327 }
328 BIO_free(privkeybio);
329
330 ADD_TEST(test_encrypt_decrypt_aes_cbc);
331 ADD_TEST(test_encrypt_decrypt_aes_128_gcm);
332 ADD_TEST(test_encrypt_decrypt_aes_192_gcm);
333 ADD_TEST(test_encrypt_decrypt_aes_256_gcm);
334 ADD_TEST(test_d2i_CMS_bio_NULL);
335 return 1;
336}
337
338void cleanup_tests(void)
339{
340 X509_free(cert);
341 EVP_PKEY_free(privkey);
342}
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette