Factor common code for printing sig_alg
diff --git a/library/x509_csr.c b/library/x509_csr.c
index a0d4c36..082e461 100644
--- a/library/x509_csr.c
+++ b/library/x509_csr.c
@@ -366,8 +366,12 @@
     int ret;
     size_t n;
     char *p;
-    const char *desc;
     char key_size_str[BEFORE_COLON];
+#if defined(POLARSSL_RSASSA_PSS_CERTIFICATES)
+    const x509_buf *sig_params = &csr->sig_params;
+#else
+    const x509_buf *sig_params = NULL;
+#endif
 
     p = buf;
     n = size;
@@ -384,35 +388,9 @@
     ret = snprintf( p, n, "\n%ssigned using  : ", prefix );
     SAFE_SNPRINTF();
 
-    ret = oid_get_sig_alg_desc( &csr->sig_oid, &desc );
-    if( ret != 0 )
-        ret = snprintf( p, n, "???"  );
-    else
-        ret = snprintf( p, n, "%s", desc );
+    ret = x509_sig_alg_gets( p, n, &csr->sig_oid, csr->sig_pk, sig_params );
     SAFE_SNPRINTF();
 
-#if defined(POLARSSL_RSASSA_PSS_CERTIFICATES)
-    if( csr->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( &csr->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 */
-
     if( ( ret = x509_key_size_helper( key_size_str, BEFORE_COLON,
                                       pk_get_name( &csr->pk ) ) ) != 0 )
     {