summaryrefslogtreecommitdiff
path: root/src/usr.bin/openssl/pkeyutl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr.bin/openssl/pkeyutl.c')
-rw-r--r--src/usr.bin/openssl/pkeyutl.c152
1 files changed, 76 insertions, 76 deletions
diff --git a/src/usr.bin/openssl/pkeyutl.c b/src/usr.bin/openssl/pkeyutl.c
index 8c0fd28b29..efd0896c02 100644
--- a/src/usr.bin/openssl/pkeyutl.c
+++ b/src/usr.bin/openssl/pkeyutl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pkeyutl.c,v 1.18 2023/03/05 13:12:53 tb Exp $ */ 1/* $OpenBSD: pkeyutl.c,v 1.19 2023/03/06 14:32:06 tb Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2006. 3 * project 2006.
4 */ 4 */
@@ -82,7 +82,7 @@ static struct {
82 int pkey_op; 82 int pkey_op;
83 int rev; 83 int rev;
84 char *sigfile; 84 char *sigfile;
85} pkeyutl_config; 85} cfg;
86 86
87static void pkeyutl_usage(void); 87static void pkeyutl_usage(void);
88 88
@@ -101,48 +101,48 @@ static const struct option pkeyutl_options[] = {
101 .name = "asn1parse", 101 .name = "asn1parse",
102 .desc = "ASN.1 parse the output data", 102 .desc = "ASN.1 parse the output data",
103 .type = OPTION_FLAG, 103 .type = OPTION_FLAG,
104 .opt.flag = &pkeyutl_config.asn1parse, 104 .opt.flag = &cfg.asn1parse,
105 }, 105 },
106 { 106 {
107 .name = "certin", 107 .name = "certin",
108 .desc = "Input is a certificate containing a public key", 108 .desc = "Input is a certificate containing a public key",
109 .type = OPTION_VALUE, 109 .type = OPTION_VALUE,
110 .value = KEY_CERT, 110 .value = KEY_CERT,
111 .opt.value = &pkeyutl_config.key_type, 111 .opt.value = &cfg.key_type,
112 }, 112 },
113 { 113 {
114 .name = "decrypt", 114 .name = "decrypt",
115 .desc = "Decrypt the input data using a private key", 115 .desc = "Decrypt the input data using a private key",
116 .type = OPTION_VALUE, 116 .type = OPTION_VALUE,
117 .value = EVP_PKEY_OP_DECRYPT, 117 .value = EVP_PKEY_OP_DECRYPT,
118 .opt.value = &pkeyutl_config.pkey_op, 118 .opt.value = &cfg.pkey_op,
119 }, 119 },
120 { 120 {
121 .name = "derive", 121 .name = "derive",
122 .desc = "Derive a shared secret using the peer key", 122 .desc = "Derive a shared secret using the peer key",
123 .type = OPTION_VALUE, 123 .type = OPTION_VALUE,
124 .value = EVP_PKEY_OP_DERIVE, 124 .value = EVP_PKEY_OP_DERIVE,
125 .opt.value = &pkeyutl_config.pkey_op, 125 .opt.value = &cfg.pkey_op,
126 }, 126 },
127 { 127 {
128 .name = "encrypt", 128 .name = "encrypt",
129 .desc = "Encrypt the input data using a public key", 129 .desc = "Encrypt the input data using a public key",
130 .type = OPTION_VALUE, 130 .type = OPTION_VALUE,
131 .value = EVP_PKEY_OP_ENCRYPT, 131 .value = EVP_PKEY_OP_ENCRYPT,
132 .opt.value = &pkeyutl_config.pkey_op, 132 .opt.value = &cfg.pkey_op,
133 }, 133 },
134 { 134 {
135 .name = "hexdump", 135 .name = "hexdump",
136 .desc = "Hex dump the output data", 136 .desc = "Hex dump the output data",
137 .type = OPTION_FLAG, 137 .type = OPTION_FLAG,
138 .opt.flag = &pkeyutl_config.hexdump, 138 .opt.flag = &cfg.hexdump,
139 }, 139 },
140 { 140 {
141 .name = "in", 141 .name = "in",
142 .argname = "file", 142 .argname = "file",
143 .desc = "Input file (default stdin)", 143 .desc = "Input file (default stdin)",
144 .type = OPTION_ARG, 144 .type = OPTION_ARG,
145 .opt.arg = &pkeyutl_config.infile, 145 .opt.arg = &cfg.infile,
146 }, 146 },
147 { 147 {
148 .name = "inkey", 148 .name = "inkey",
@@ -156,28 +156,28 @@ static const struct option pkeyutl_options[] = {
156 .argname = "fmt", 156 .argname = "fmt",
157 .desc = "Input key format (DER or PEM (default))", 157 .desc = "Input key format (DER or PEM (default))",
158 .type = OPTION_ARG_FORMAT, 158 .type = OPTION_ARG_FORMAT,
159 .opt.value = &pkeyutl_config.keyform, 159 .opt.value = &cfg.keyform,
160 }, 160 },
161 { 161 {
162 .name = "out", 162 .name = "out",
163 .argname = "file", 163 .argname = "file",
164 .desc = "Output file (default stdout)", 164 .desc = "Output file (default stdout)",
165 .type = OPTION_ARG, 165 .type = OPTION_ARG,
166 .opt.arg = &pkeyutl_config.outfile, 166 .opt.arg = &cfg.outfile,
167 }, 167 },
168 { 168 {
169 .name = "passin", 169 .name = "passin",
170 .argname = "arg", 170 .argname = "arg",
171 .desc = "Key password source", 171 .desc = "Key password source",
172 .type = OPTION_ARG, 172 .type = OPTION_ARG,
173 .opt.arg = &pkeyutl_config.passargin, 173 .opt.arg = &cfg.passargin,
174 }, 174 },
175 { 175 {
176 .name = "peerform", 176 .name = "peerform",
177 .argname = "fmt", 177 .argname = "fmt",
178 .desc = "Input key format (DER or PEM (default))", 178 .desc = "Input key format (DER or PEM (default))",
179 .type = OPTION_ARG_FORMAT, 179 .type = OPTION_ARG_FORMAT,
180 .opt.value = &pkeyutl_config.peerform, 180 .opt.value = &cfg.peerform,
181 }, 181 },
182 { 182 {
183 .name = "peerkey", 183 .name = "peerkey",
@@ -198,41 +198,41 @@ static const struct option pkeyutl_options[] = {
198 .desc = "Input is a public key", 198 .desc = "Input is a public key",
199 .type = OPTION_VALUE, 199 .type = OPTION_VALUE,
200 .value = KEY_PUBKEY, 200 .value = KEY_PUBKEY,
201 .opt.value = &pkeyutl_config.key_type, 201 .opt.value = &cfg.key_type,
202 }, 202 },
203 { 203 {
204 .name = "rev", 204 .name = "rev",
205 .desc = "Reverse the input data", 205 .desc = "Reverse the input data",
206 .type = OPTION_FLAG, 206 .type = OPTION_FLAG,
207 .opt.flag = &pkeyutl_config.rev, 207 .opt.flag = &cfg.rev,
208 }, 208 },
209 { 209 {
210 .name = "sigfile", 210 .name = "sigfile",
211 .argname = "file", 211 .argname = "file",
212 .desc = "Signature file (verify operation only)", 212 .desc = "Signature file (verify operation only)",
213 .type = OPTION_ARG, 213 .type = OPTION_ARG,
214 .opt.arg = &pkeyutl_config.sigfile, 214 .opt.arg = &cfg.sigfile,
215 }, 215 },
216 { 216 {
217 .name = "sign", 217 .name = "sign",
218 .desc = "Sign the input data using private key", 218 .desc = "Sign the input data using private key",
219 .type = OPTION_VALUE, 219 .type = OPTION_VALUE,
220 .value = EVP_PKEY_OP_SIGN, 220 .value = EVP_PKEY_OP_SIGN,
221 .opt.value = &pkeyutl_config.pkey_op, 221 .opt.value = &cfg.pkey_op,
222 }, 222 },
223 { 223 {
224 .name = "verify", 224 .name = "verify",
225 .desc = "Verify the input data using public key", 225 .desc = "Verify the input data using public key",
226 .type = OPTION_VALUE, 226 .type = OPTION_VALUE,
227 .value = EVP_PKEY_OP_VERIFY, 227 .value = EVP_PKEY_OP_VERIFY,
228 .opt.value = &pkeyutl_config.pkey_op, 228 .opt.value = &cfg.pkey_op,
229 }, 229 },
230 { 230 {
231 .name = "verifyrecover", 231 .name = "verifyrecover",
232 .desc = "Verify with public key, recover original data", 232 .desc = "Verify with public key, recover original data",
233 .type = OPTION_VALUE, 233 .type = OPTION_VALUE,
234 .value = EVP_PKEY_OP_VERIFYRECOVER, 234 .value = EVP_PKEY_OP_VERIFYRECOVER,
235 .opt.value = &pkeyutl_config.pkey_op, 235 .opt.value = &cfg.pkey_op,
236 }, 236 },
237 237
238 {NULL}, 238 {NULL},
@@ -268,36 +268,36 @@ pkeyutl_main(int argc, char **argv)
268 exit(1); 268 exit(1);
269 } 269 }
270 270
271 memset(&pkeyutl_config, 0, sizeof(pkeyutl_config)); 271 memset(&cfg, 0, sizeof(cfg));
272 pkeyutl_config.pkey_op = EVP_PKEY_OP_SIGN; 272 cfg.pkey_op = EVP_PKEY_OP_SIGN;
273 pkeyutl_config.key_type = KEY_PRIVKEY; 273 cfg.key_type = KEY_PRIVKEY;
274 pkeyutl_config.keyform = FORMAT_PEM; 274 cfg.keyform = FORMAT_PEM;
275 pkeyutl_config.peerform = FORMAT_PEM; 275 cfg.peerform = FORMAT_PEM;
276 pkeyutl_config.keysize = -1; 276 cfg.keysize = -1;
277 277
278 if (options_parse(argc, argv, pkeyutl_options, NULL, NULL) != 0) { 278 if (options_parse(argc, argv, pkeyutl_options, NULL, NULL) != 0) {
279 pkeyutl_usage(); 279 pkeyutl_usage();
280 goto end; 280 goto end;
281 } 281 }
282 282
283 if (!pkeyutl_config.ctx) { 283 if (!cfg.ctx) {
284 pkeyutl_usage(); 284 pkeyutl_usage();
285 goto end; 285 goto end;
286 } 286 }
287 if (pkeyutl_config.sigfile && 287 if (cfg.sigfile &&
288 (pkeyutl_config.pkey_op != EVP_PKEY_OP_VERIFY)) { 288 (cfg.pkey_op != EVP_PKEY_OP_VERIFY)) {
289 BIO_puts(bio_err, "Signature file specified for non verify\n"); 289 BIO_puts(bio_err, "Signature file specified for non verify\n");
290 goto end; 290 goto end;
291 } 291 }
292 if (!pkeyutl_config.sigfile && 292 if (!cfg.sigfile &&
293 (pkeyutl_config.pkey_op == EVP_PKEY_OP_VERIFY)) { 293 (cfg.pkey_op == EVP_PKEY_OP_VERIFY)) {
294 BIO_puts(bio_err, "No signature file specified for verify\n"); 294 BIO_puts(bio_err, "No signature file specified for verify\n");
295 goto end; 295 goto end;
296 } 296 }
297 297
298 if (pkeyutl_config.pkey_op != EVP_PKEY_OP_DERIVE) { 298 if (cfg.pkey_op != EVP_PKEY_OP_DERIVE) {
299 if (pkeyutl_config.infile) { 299 if (cfg.infile) {
300 if (!(in = BIO_new_file(pkeyutl_config.infile, "rb"))) { 300 if (!(in = BIO_new_file(cfg.infile, "rb"))) {
301 BIO_puts(bio_err, 301 BIO_puts(bio_err,
302 "Error Opening Input File\n"); 302 "Error Opening Input File\n");
303 ERR_print_errors(bio_err); 303 ERR_print_errors(bio_err);
@@ -306,8 +306,8 @@ pkeyutl_main(int argc, char **argv)
306 } else 306 } else
307 in = BIO_new_fp(stdin, BIO_NOCLOSE); 307 in = BIO_new_fp(stdin, BIO_NOCLOSE);
308 } 308 }
309 if (pkeyutl_config.outfile) { 309 if (cfg.outfile) {
310 if (!(out = BIO_new_file(pkeyutl_config.outfile, "wb"))) { 310 if (!(out = BIO_new_file(cfg.outfile, "wb"))) {
311 BIO_printf(bio_err, "Error Creating Output File\n"); 311 BIO_printf(bio_err, "Error Creating Output File\n");
312 ERR_print_errors(bio_err); 312 ERR_print_errors(bio_err);
313 goto end; 313 goto end;
@@ -316,14 +316,14 @@ pkeyutl_main(int argc, char **argv)
316 out = BIO_new_fp(stdout, BIO_NOCLOSE); 316 out = BIO_new_fp(stdout, BIO_NOCLOSE);
317 } 317 }
318 318
319 if (pkeyutl_config.sigfile) { 319 if (cfg.sigfile) {
320 BIO *sigbio = BIO_new_file(pkeyutl_config.sigfile, "rb"); 320 BIO *sigbio = BIO_new_file(cfg.sigfile, "rb");
321 if (!sigbio) { 321 if (!sigbio) {
322 BIO_printf(bio_err, "Can't open signature file %s\n", 322 BIO_printf(bio_err, "Can't open signature file %s\n",
323 pkeyutl_config.sigfile); 323 cfg.sigfile);
324 goto end; 324 goto end;
325 } 325 }
326 siglen = bio_to_mem(&sig, pkeyutl_config.keysize * 10, sigbio); 326 siglen = bio_to_mem(&sig, cfg.keysize * 10, sigbio);
327 BIO_free(sigbio); 327 BIO_free(sigbio);
328 if (siglen <= 0) { 328 if (siglen <= 0) {
329 BIO_printf(bio_err, "Error reading signature data\n"); 329 BIO_printf(bio_err, "Error reading signature data\n");
@@ -332,12 +332,12 @@ pkeyutl_main(int argc, char **argv)
332 } 332 }
333 if (in) { 333 if (in) {
334 /* Read the input data */ 334 /* Read the input data */
335 buf_inlen = bio_to_mem(&buf_in, pkeyutl_config.keysize * 10, in); 335 buf_inlen = bio_to_mem(&buf_in, cfg.keysize * 10, in);
336 if (buf_inlen <= 0) { 336 if (buf_inlen <= 0) {
337 BIO_printf(bio_err, "Error reading input Data\n"); 337 BIO_printf(bio_err, "Error reading input Data\n");
338 exit(1); 338 exit(1);
339 } 339 }
340 if (pkeyutl_config.rev) { 340 if (cfg.rev) {
341 size_t i; 341 size_t i;
342 unsigned char ctmp; 342 unsigned char ctmp;
343 size_t l = (size_t) buf_inlen; 343 size_t l = (size_t) buf_inlen;
@@ -348,8 +348,8 @@ pkeyutl_main(int argc, char **argv)
348 } 348 }
349 } 349 }
350 } 350 }
351 if (pkeyutl_config.pkey_op == EVP_PKEY_OP_VERIFY) { 351 if (cfg.pkey_op == EVP_PKEY_OP_VERIFY) {
352 rv = EVP_PKEY_verify(pkeyutl_config.ctx, sig, (size_t) siglen, 352 rv = EVP_PKEY_verify(cfg.ctx, sig, (size_t) siglen,
353 buf_in, (size_t) buf_inlen); 353 buf_in, (size_t) buf_inlen);
354 if (rv == 1) { 354 if (rv == 1) {
355 BIO_puts(out, "Signature Verified Successfully\n"); 355 BIO_puts(out, "Signature Verified Successfully\n");
@@ -359,15 +359,15 @@ pkeyutl_main(int argc, char **argv)
359 if (rv >= 0) 359 if (rv >= 0)
360 goto end; 360 goto end;
361 } else { 361 } else {
362 rv = do_keyop(pkeyutl_config.ctx, pkeyutl_config.pkey_op, NULL, 362 rv = do_keyop(cfg.ctx, cfg.pkey_op, NULL,
363 (size_t *)&buf_outlen, buf_in, (size_t) buf_inlen); 363 (size_t *)&buf_outlen, buf_in, (size_t) buf_inlen);
364 if (rv > 0) { 364 if (rv > 0) {
365 buf_out = malloc(buf_outlen); 365 buf_out = malloc(buf_outlen);
366 if (!buf_out) 366 if (!buf_out)
367 rv = -1; 367 rv = -1;
368 else 368 else
369 rv = do_keyop(pkeyutl_config.ctx, 369 rv = do_keyop(cfg.ctx,
370 pkeyutl_config.pkey_op, 370 cfg.pkey_op,
371 buf_out, (size_t *) & buf_outlen, 371 buf_out, (size_t *) & buf_outlen,
372 buf_in, (size_t) buf_inlen); 372 buf_in, (size_t) buf_inlen);
373 } 373 }
@@ -379,16 +379,16 @@ pkeyutl_main(int argc, char **argv)
379 goto end; 379 goto end;
380 } 380 }
381 ret = 0; 381 ret = 0;
382 if (pkeyutl_config.asn1parse) { 382 if (cfg.asn1parse) {
383 if (!ASN1_parse_dump(out, buf_out, buf_outlen, 1, -1)) 383 if (!ASN1_parse_dump(out, buf_out, buf_outlen, 1, -1))
384 ERR_print_errors(bio_err); 384 ERR_print_errors(bio_err);
385 } else if (pkeyutl_config.hexdump) 385 } else if (cfg.hexdump)
386 BIO_dump(out, (char *) buf_out, buf_outlen); 386 BIO_dump(out, (char *) buf_out, buf_outlen);
387 else 387 else
388 BIO_write(out, buf_out, buf_outlen); 388 BIO_write(out, buf_out, buf_outlen);
389 389
390 end: 390 end:
391 EVP_PKEY_CTX_free(pkeyutl_config.ctx); 391 EVP_PKEY_CTX_free(cfg.ctx);
392 BIO_free(in); 392 BIO_free(in);
393 BIO_free_all(out); 393 BIO_free_all(out);
394 free(buf_in); 394 free(buf_in);
@@ -406,32 +406,32 @@ init_ctx(char *keyfile)
406 int rv = -1; 406 int rv = -1;
407 X509 *x; 407 X509 *x;
408 408
409 if (((pkeyutl_config.pkey_op == EVP_PKEY_OP_SIGN) 409 if (((cfg.pkey_op == EVP_PKEY_OP_SIGN)
410 || (pkeyutl_config.pkey_op == EVP_PKEY_OP_DECRYPT) 410 || (cfg.pkey_op == EVP_PKEY_OP_DECRYPT)
411 || (pkeyutl_config.pkey_op == EVP_PKEY_OP_DERIVE)) 411 || (cfg.pkey_op == EVP_PKEY_OP_DERIVE))
412 && (pkeyutl_config.key_type != KEY_PRIVKEY)) { 412 && (cfg.key_type != KEY_PRIVKEY)) {
413 BIO_printf(bio_err, 413 BIO_printf(bio_err,
414 "A private key is needed for this operation\n"); 414 "A private key is needed for this operation\n");
415 goto end; 415 goto end;
416 } 416 }
417 if (!app_passwd(bio_err, pkeyutl_config.passargin, NULL, &passin, 417 if (!app_passwd(bio_err, cfg.passargin, NULL, &passin,
418 NULL)) { 418 NULL)) {
419 BIO_printf(bio_err, "Error getting password\n"); 419 BIO_printf(bio_err, "Error getting password\n");
420 goto end; 420 goto end;
421 } 421 }
422 switch (pkeyutl_config.key_type) { 422 switch (cfg.key_type) {
423 case KEY_PRIVKEY: 423 case KEY_PRIVKEY:
424 pkey = load_key(bio_err, keyfile, pkeyutl_config.keyform, 0, 424 pkey = load_key(bio_err, keyfile, cfg.keyform, 0,
425 passin, "Private Key"); 425 passin, "Private Key");
426 break; 426 break;
427 427
428 case KEY_PUBKEY: 428 case KEY_PUBKEY:
429 pkey = load_pubkey(bio_err, keyfile, pkeyutl_config.keyform, 0, 429 pkey = load_pubkey(bio_err, keyfile, cfg.keyform, 0,
430 NULL, "Public Key"); 430 NULL, "Public Key");
431 break; 431 break;
432 432
433 case KEY_CERT: 433 case KEY_CERT:
434 x = load_cert(bio_err, keyfile, pkeyutl_config.keyform, 434 x = load_cert(bio_err, keyfile, cfg.keyform,
435 NULL, "Certificate"); 435 NULL, "Certificate");
436 if (x) { 436 if (x) {
437 pkey = X509_get_pubkey(x); 437 pkey = X509_get_pubkey(x);
@@ -440,53 +440,53 @@ init_ctx(char *keyfile)
440 break; 440 break;
441 } 441 }
442 442
443 pkeyutl_config.keysize = EVP_PKEY_size(pkey); 443 cfg.keysize = EVP_PKEY_size(pkey);
444 444
445 if (!pkey) 445 if (!pkey)
446 goto end; 446 goto end;
447 447
448 pkeyutl_config.ctx = EVP_PKEY_CTX_new(pkey, NULL); 448 cfg.ctx = EVP_PKEY_CTX_new(pkey, NULL);
449 449
450 EVP_PKEY_free(pkey); 450 EVP_PKEY_free(pkey);
451 451
452 if (!pkeyutl_config.ctx) 452 if (!cfg.ctx)
453 goto end; 453 goto end;
454 454
455 switch (pkeyutl_config.pkey_op) { 455 switch (cfg.pkey_op) {
456 case EVP_PKEY_OP_SIGN: 456 case EVP_PKEY_OP_SIGN:
457 rv = EVP_PKEY_sign_init(pkeyutl_config.ctx); 457 rv = EVP_PKEY_sign_init(cfg.ctx);
458 break; 458 break;
459 459
460 case EVP_PKEY_OP_VERIFY: 460 case EVP_PKEY_OP_VERIFY:
461 rv = EVP_PKEY_verify_init(pkeyutl_config.ctx); 461 rv = EVP_PKEY_verify_init(cfg.ctx);
462 break; 462 break;
463 463
464 case EVP_PKEY_OP_VERIFYRECOVER: 464 case EVP_PKEY_OP_VERIFYRECOVER:
465 rv = EVP_PKEY_verify_recover_init(pkeyutl_config.ctx); 465 rv = EVP_PKEY_verify_recover_init(cfg.ctx);
466 break; 466 break;
467 467
468 case EVP_PKEY_OP_ENCRYPT: 468 case EVP_PKEY_OP_ENCRYPT:
469 rv = EVP_PKEY_encrypt_init(pkeyutl_config.ctx); 469 rv = EVP_PKEY_encrypt_init(cfg.ctx);
470 break; 470 break;
471 471
472 case EVP_PKEY_OP_DECRYPT: 472 case EVP_PKEY_OP_DECRYPT:
473 rv = EVP_PKEY_decrypt_init(pkeyutl_config.ctx); 473 rv = EVP_PKEY_decrypt_init(cfg.ctx);
474 break; 474 break;
475 475
476 case EVP_PKEY_OP_DERIVE: 476 case EVP_PKEY_OP_DERIVE:
477 rv = EVP_PKEY_derive_init(pkeyutl_config.ctx); 477 rv = EVP_PKEY_derive_init(cfg.ctx);
478 break; 478 break;
479 } 479 }
480 480
481 if (rv <= 0) { 481 if (rv <= 0) {
482 EVP_PKEY_CTX_free(pkeyutl_config.ctx); 482 EVP_PKEY_CTX_free(cfg.ctx);
483 pkeyutl_config.ctx = NULL; 483 cfg.ctx = NULL;
484 } 484 }
485 485
486 end: 486 end:
487 free(passin); 487 free(passin);
488 488
489 if (!pkeyutl_config.ctx) { 489 if (!cfg.ctx) {
490 BIO_puts(bio_err, "Error initializing context\n"); 490 BIO_puts(bio_err, "Error initializing context\n");
491 ERR_print_errors(bio_err); 491 ERR_print_errors(bio_err);
492 return (1); 492 return (1);
@@ -501,11 +501,11 @@ setup_peer(char *file)
501 EVP_PKEY *peer = NULL; 501 EVP_PKEY *peer = NULL;
502 int ret; 502 int ret;
503 503
504 if (!pkeyutl_config.ctx) { 504 if (!cfg.ctx) {
505 BIO_puts(bio_err, "-peerkey command before -inkey\n"); 505 BIO_puts(bio_err, "-peerkey command before -inkey\n");
506 return (1); 506 return (1);
507 } 507 }
508 peer = load_pubkey(bio_err, file, pkeyutl_config.peerform, 0, NULL, 508 peer = load_pubkey(bio_err, file, cfg.peerform, 0, NULL,
509 "Peer Key"); 509 "Peer Key");
510 510
511 if (!peer) { 511 if (!peer) {
@@ -513,7 +513,7 @@ setup_peer(char *file)
513 ERR_print_errors(bio_err); 513 ERR_print_errors(bio_err);
514 return (1); 514 return (1);
515 } 515 }
516 ret = EVP_PKEY_derive_set_peer(pkeyutl_config.ctx, peer); 516 ret = EVP_PKEY_derive_set_peer(cfg.ctx, peer);
517 517
518 EVP_PKEY_free(peer); 518 EVP_PKEY_free(peer);
519 if (ret <= 0) { 519 if (ret <= 0) {
@@ -527,10 +527,10 @@ setup_peer(char *file)
527static int 527static int
528pkeyutl_pkeyopt(char *pkeyopt) 528pkeyutl_pkeyopt(char *pkeyopt)
529{ 529{
530 if (!pkeyutl_config.ctx) { 530 if (!cfg.ctx) {
531 BIO_puts(bio_err, "-pkeyopt command before -inkey\n"); 531 BIO_puts(bio_err, "-pkeyopt command before -inkey\n");
532 return (1); 532 return (1);
533 } else if (pkey_ctrl_string(pkeyutl_config.ctx, pkeyopt) <= 0) { 533 } else if (pkey_ctrl_string(cfg.ctx, pkeyopt) <= 0) {
534 BIO_puts(bio_err, "parameter setting error\n"); 534 BIO_puts(bio_err, "parameter setting error\n");
535 ERR_print_errors(bio_err); 535 ERR_print_errors(bio_err);
536 return (1); 536 return (1);