summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crypto/dsa/dsa_ameth.c7
1 files changed, 7 insertions, 0 deletions
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))