summaryrefslogtreecommitdiff
path: root/lib/ext/signature.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ext/signature.c')
-rw-r--r--lib/ext/signature.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/ext/signature.c b/lib/ext/signature.c
index 29a208e367..e11f4649a6 100644
--- a/lib/ext/signature.c
+++ b/lib/ext/signature.c
@@ -258,7 +258,7 @@ _gnutls_signature_algorithm_send_params(gnutls_session_t session,
*/
gnutls_sign_algorithm_t
_gnutls_session_get_sign_algo(gnutls_session_t session,
- gnutls_pcert_st * cert)
+ gnutls_pcert_st * cert, unsigned our_cert)
{
unsigned i;
int ret;
@@ -283,7 +283,8 @@ _gnutls_session_get_sign_algo(gnutls_session_t session,
/* none set, allow SHA-1 only */
{
ret = gnutls_pk_to_sign(cert_algo, GNUTLS_DIG_SHA1);
- if (_gnutls_session_sign_algo_enabled(session, ret) < 0)
+
+ if (!our_cert && _gnutls_session_sign_algo_enabled(session, ret) < 0)
goto fail;
return ret;
}
@@ -296,7 +297,7 @@ _gnutls_session_get_sign_algo(gnutls_session_t session,
priv->sign_algorithms[i]) < 0)
continue;
- if (_gnutls_session_sign_algo_enabled
+ if (!our_cert && _gnutls_session_sign_algo_enabled
(session, priv->sign_algorithms[i]) < 0)
continue;