From: jayaram Date: Mon, 23 Sep 2019 10:44:56 +0000 (+0530) Subject: fix for dsa key size feature request issue: pkey -text or -text_pub should show dsa... X-Git-Tag: openssl-3.0.0-alpha1~1294 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=aecf529b0546adc9cfc199f23c64fbb32ff5ed56;hp=4baee2d72e0c82bfd6de085df23a1bdc6af887ba fix for dsa key size feature request issue: pkey -text or -text_pub should show dsa key size Reviewed-by: Paul Dale Reviewed-by: Dmitry Belyavskiy (Merged from https://github.com/openssl/openssl/pull/9983) --- diff --git a/crypto/dsa/dsa_ameth.c b/crypto/dsa/dsa_ameth.c index 4e0ed01970..f3aab34856 100644 --- a/crypto/dsa/dsa_ameth.c +++ b/crypto/dsa/dsa_ameth.c @@ -336,6 +336,10 @@ static int do_dsa_print(BIO *bp, const DSA *x, int off, int ptype) int ret = 0; const char *ktype = NULL; const BIGNUM *priv_key, *pub_key; + int mod_len = 0; + + if (x->p != NULL) + mod_len = BN_num_bits(x->p); if (ptype == 2) priv_key = x->priv_key; @@ -360,6 +364,9 @@ static int do_dsa_print(BIO *bp, const DSA *x, int off, int ptype) if (BIO_printf(bp, "%s: (%d bit)\n", ktype, BN_num_bits(x->p)) <= 0) goto err; + } else { + if (BIO_printf(bp, "Public-Key: (%d bit)\n", mod_len) <= 0) + goto err; } if (!ASN1_bn_print(bp, "priv:", priv_key, NULL, off))