summaryrefslogtreecommitdiff
path: root/providers/implementations/encode_decode/encode_key2text.c
diff options
context:
space:
mode:
Diffstat (limited to 'providers/implementations/encode_decode/encode_key2text.c')
-rw-r--r--providers/implementations/encode_decode/encode_key2text.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/providers/implementations/encode_decode/encode_key2text.c b/providers/implementations/encode_decode/encode_key2text.c
index 80d6f7b35f..7d983f5e51 100644
--- a/providers/implementations/encode_decode/encode_key2text.c
+++ b/providers/implementations/encode_decode/encode_key2text.c
@@ -220,6 +220,7 @@ static int dh_to_text(BIO *out, const void *key, int selection)
const BIGNUM *priv_key = NULL, *pub_key = NULL;
const FFC_PARAMS *params = NULL;
const BIGNUM *p = NULL;
+ long length;
if (out == NULL || dh == NULL) {
ERR_raise(ERR_LIB_PROV, ERR_R_PASSED_NULL_PARAMETER);
@@ -272,6 +273,11 @@ static int dh_to_text(BIO *out, const void *key, int selection)
if (params != NULL
&& !ffc_params_to_text(out, params))
return 0;
+ length = DH_get_length(dh);
+ if (length > 0
+ && BIO_printf(out, "recommended-private-length: %ld bits\n",
+ length) <= 0)
+ return 0;
return 1;
}