From 6bd9a17aadab90e07931532a6e581127cbcbe36a Mon Sep 17 00:00:00 2001 From: tb Date: Sun, 12 Dec 2021 20:28:02 +0000 Subject: [PATCH] Make x509.c compile with opaque EVP_PKEY. ok inoguchi --- usr.bin/openssl/x509.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/usr.bin/openssl/x509.c b/usr.bin/openssl/x509.c index 978f097efa6..38838729afd 100644 --- a/usr.bin/openssl/x509.c +++ b/usr.bin/openssl/x509.c @@ -1,4 +1,4 @@ -/* $OpenBSD: x509.c,v 1.26 2021/11/26 16:23:27 tb Exp $ */ +/* $OpenBSD: x509.c,v 1.27 2021/12/12 20:28:02 tb Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -1053,12 +1053,20 @@ x509_main(int argc, char **argv) goto end; } BIO_printf(STDout, "Modulus="); - if (pkey->type == EVP_PKEY_RSA) - BN_print(STDout, pkey->pkey.rsa->n); - else if (pkey->type == EVP_PKEY_DSA) - BN_print(STDout, - pkey->pkey.dsa->pub_key); - else + if (EVP_PKEY_id(pkey) == EVP_PKEY_RSA) { + RSA *rsa = EVP_PKEY_get0_RSA(pkey); + const BIGNUM *n = NULL; + + RSA_get0_key(rsa, &n, NULL, NULL); + BN_print(STDout, n); + } else if (EVP_PKEY_id(pkey) == EVP_PKEY_DSA) { + DSA *dsa = EVP_PKEY_get0_DSA(pkey); + const BIGNUM *pub_key = NULL; + + DSA_get0_key(dsa, &pub_key, NULL); + + BN_print(STDout, pub_key); + } else BIO_printf(STDout, "Wrong Algorithm type"); BIO_printf(STDout, "\n"); -- 2.20.1