diff options
-rw-r--r-- | crypto/dsa/dsa_ameth.c | 7 |
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)) |