diff --git a/src/etc/inc/certs.inc b/src/etc/inc/certs.inc index 24446633ae..2f1c842f6a 100644 --- a/src/etc/inc/certs.inc +++ b/src/etc/inc/certs.inc @@ -2133,8 +2133,11 @@ function cert_print_infoblock($cert) { } else { /* Elliptic curve (EC) key curve name */ $certextinfo .= 'ECDSA
'; - $certextinfo .= '' . gettext("Elliptic curve name: ") . ''; - $certextinfo .= $key_details['ec']['curve_name'] . '
'; + $curve = cert_get_pkey_curve($cert['prv']); + if (!empty($curve)) { + $certextinfo .= '' . gettext("Elliptic curve name:") . ' '; + $certextinfo .= $curve . '
'; + } } } @@ -2311,9 +2314,12 @@ function cert_get_pkey_curve($pkey, $decode = true) { $key_details = openssl_pkey_get_details($res_key); /* If this is an EC key, and the curve name is not empty, return * that curve name. */ - if (($key_details['type'] == OPENSSL_KEYTYPE_EC) && - (!empty($key_details['ec']['curve_name']))) { - return $key_details['ec']['curve_name']; + if ($key_details['type'] == OPENSSL_KEYTYPE_EC) { + if (!empty($key_details['ec']['curve_name'])) { + return $key_details['ec']['curve_name']; + } else { + return $key_details['ec']['curve_oid']; + } } }