summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2021-10-23 15:44:39 +0000
committertb <>2021-10-23 15:44:39 +0000
commit7c0e6e3f719040ba06202267f46b7824c93b299d (patch)
treef4d2550b4b628524a871898f544561817731e4ec /src
parent2d7b3fb8e1bccf37823ef0d28a5a5bfa262a3b13 (diff)
downloadopenbsd-7c0e6e3f719040ba06202267f46b7824c93b299d.tar.gz
openbsd-7c0e6e3f719040ba06202267f46b7824c93b299d.tar.bz2
openbsd-7c0e6e3f719040ba06202267f46b7824c93b299d.zip
Preapre x509.c for upcoming libcrypto bump
ok beck jsing
Diffstat (limited to 'src')
-rw-r--r--src/usr.bin/openssl/x509.c30
1 files changed, 11 insertions, 19 deletions
diff --git a/src/usr.bin/openssl/x509.c b/src/usr.bin/openssl/x509.c
index 3102be9ba3..5ee478b050 100644
--- a/src/usr.bin/openssl/x509.c
+++ b/src/usr.bin/openssl/x509.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509.c,v 1.24 2021/08/29 19:56:40 schwarze Exp $ */ 1/* $OpenBSD: x509.c,v 1.25 2021/10/23 15:44:39 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -846,16 +846,6 @@ x509_main(int argc, char **argv)
846 ERR_print_errors(bio_err); 846 ERR_print_errors(bio_err);
847 goto end; 847 goto end;
848 } 848 }
849 if ((req->req_info == NULL) ||
850 (req->req_info->pubkey == NULL) ||
851 (req->req_info->pubkey->public_key == NULL) ||
852 (req->req_info->pubkey->public_key->data == NULL)) {
853 BIO_printf(bio_err,
854 "The certificate request appears to corrupted\n");
855 BIO_printf(bio_err,
856 "It does not contain a public key\n");
857 goto end;
858 }
859 if ((pkey = X509_REQ_get_pubkey(req)) == NULL) { 849 if ((pkey = X509_REQ_get_pubkey(req)) == NULL) {
860 BIO_printf(bio_err, "error unpacking public key\n"); 850 BIO_printf(bio_err, "error unpacking public key\n");
861 goto end; 851 goto end;
@@ -892,9 +882,9 @@ x509_main(int argc, char **argv)
892 } else if (!X509_set_serialNumber(x, x509_config.sno)) 882 } else if (!X509_set_serialNumber(x, x509_config.sno))
893 goto end; 883 goto end;
894 884
895 if (!X509_set_issuer_name(x, req->req_info->subject)) 885 if (!X509_set_issuer_name(x, X509_REQ_get_subject_name(req)))
896 goto end; 886 goto end;
897 if (!X509_set_subject_name(x, req->req_info->subject)) 887 if (!X509_set_subject_name(x, X509_REQ_get_subject_name(req)))
898 goto end; 888 goto end;
899 889
900 if (X509_gmtime_adj(X509_get_notBefore(x), 0) == NULL) 890 if (X509_gmtime_adj(X509_get_notBefore(x), 0) == NULL)
@@ -1403,7 +1393,7 @@ x509_certify(X509_STORE *ctx, char *CAfile, const EVP_MD *digest, X509 *x,
1403{ 1393{
1404 int ret = 0; 1394 int ret = 0;
1405 ASN1_INTEGER *bs = NULL; 1395 ASN1_INTEGER *bs = NULL;
1406 X509_STORE_CTX xsc; 1396 X509_STORE_CTX *xsc = NULL;
1407 EVP_PKEY *upkey; 1397 EVP_PKEY *upkey;
1408 1398
1409 upkey = X509_get_pubkey(xca); 1399 upkey = X509_get_pubkey(xca);
@@ -1412,7 +1402,9 @@ x509_certify(X509_STORE *ctx, char *CAfile, const EVP_MD *digest, X509 *x,
1412 EVP_PKEY_copy_parameters(upkey, pkey); 1402 EVP_PKEY_copy_parameters(upkey, pkey);
1413 EVP_PKEY_free(upkey); 1403 EVP_PKEY_free(upkey);
1414 1404
1415 if (!X509_STORE_CTX_init(&xsc, ctx, x, NULL)) { 1405 if ((xsc = X509_STORE_CTX_new()) == NULL)
1406 goto end;
1407 if (!X509_STORE_CTX_init(xsc, ctx, x, NULL)) {
1416 BIO_printf(bio_err, "Error initialising X509 store\n"); 1408 BIO_printf(bio_err, "Error initialising X509 store\n");
1417 goto end; 1409 goto end;
1418 } 1410 }
@@ -1427,9 +1419,9 @@ x509_certify(X509_STORE *ctx, char *CAfile, const EVP_MD *digest, X509 *x,
1427 * NOTE: this certificate can/should be self signed, unless it was a 1419 * NOTE: this certificate can/should be self signed, unless it was a
1428 * certificate request in which case it is not. 1420 * certificate request in which case it is not.
1429 */ 1421 */
1430 X509_STORE_CTX_set_cert(&xsc, x); 1422 X509_STORE_CTX_set_cert(xsc, x);
1431 X509_STORE_CTX_set_flags(&xsc, X509_V_FLAG_CHECK_SS_SIGNATURE); 1423 X509_STORE_CTX_set_flags(xsc, X509_V_FLAG_CHECK_SS_SIGNATURE);
1432 if (!x509_config.reqfile && X509_verify_cert(&xsc) <= 0) 1424 if (!x509_config.reqfile && X509_verify_cert(xsc) <= 0)
1433 goto end; 1425 goto end;
1434 1426
1435 if (!X509_check_private_key(xca, pkey)) { 1427 if (!X509_check_private_key(xca, pkey)) {
@@ -1469,7 +1461,7 @@ x509_certify(X509_STORE *ctx, char *CAfile, const EVP_MD *digest, X509 *x,
1469 1461
1470 ret = 1; 1462 ret = 1;
1471 end: 1463 end:
1472 X509_STORE_CTX_cleanup(&xsc); 1464 X509_STORE_CTX_free(xsc);
1473 if (!ret) 1465 if (!ret)
1474 ERR_print_errors(bio_err); 1466 ERR_print_errors(bio_err);
1475 if (sno == NULL) 1467 if (sno == NULL)