diff --git a/library/x509_crt.c b/library/x509_crt.c
index 3fda864..de95c0f 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -1258,8 +1258,12 @@
     int ret;
     size_t n;
     char *p;
-    const char *desc = NULL;
     char key_size_str[BEFORE_COLON];
+#if defined(POLARSSL_RSASSA_PSS_CERTIFICATES)
+    const x509_buf *sig_params = &crt->sig_params;
+#else
+    const x509_buf *sig_params = NULL;
+#endif
 
     p = buf;
     n = size;
@@ -1301,35 +1305,9 @@
     ret = snprintf( p, n, "\n%ssigned using      : ", prefix );
     SAFE_SNPRINTF();
 
-    ret = oid_get_sig_alg_desc( &crt->sig_oid1, &desc );
-    if( ret != 0 )
-        ret = snprintf( p, n, "???"  );
-    else
-        ret = snprintf( p, n, "%s", desc );
+    ret = x509_sig_alg_gets( p, n, &crt->sig_oid1, crt->sig_pk, sig_params );
     SAFE_SNPRINTF();
 
-#if defined(POLARSSL_RSASSA_PSS_CERTIFICATES)
-    if( crt->sig_pk == POLARSSL_PK_RSASSA_PSS )
-    {
-        md_type_t md_alg, mgf_md;
-        const md_info_t *md_info, *mgf_md_info;
-        int salt_len, trailer_field;
-
-        if( ( ret = x509_get_rsassa_pss_params( &crt->sig_params,
-                        &md_alg, &mgf_md, &salt_len, &trailer_field ) ) != 0 )
-            return( ret );
-
-        md_info = md_info_from_type( md_alg );
-        mgf_md_info = md_info_from_type( mgf_md );
-
-        ret = snprintf( p, n, " (%s, MGF1-%s, 0x%02X, %d)",
-                              md_info ? md_info->name : "???",
-                              mgf_md_info ? mgf_md_info->name : "???",
-                              salt_len, trailer_field );
-        SAFE_SNPRINTF();
-    }
-#endif /* POLARSSL_RSASSA_PSS_CERTIFICATES */
-
     /* Key size */
     if( ( ret = x509_key_size_helper( key_size_str, BEFORE_COLON,
                                       pk_get_name( &crt->pk ) ) ) != 0 )
