PHP CURL - cURL error 35: error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type PHP CURL - cURL error 35: error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type curl curl

PHP CURL - cURL error 35: error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type


I know this questions is quite old but i ran into the same issue when working with some old coughhermescaugh api.

I also did not wanted to set seclevel to 1 for the whole system.What you are looking for is the following:

 curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'DEFAULT@SECLEVEL=1');

just put that piece of code into your application and you should be fine for this one request.Of course this is not the safest way, but when the Api does not set up properly you do not have a choice.


I just had this issue after upgrading from OpenSSL 1.1.0 to 1.1.1 on Debian.

I found the solution here https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=900984

Replace SECLEVEL 2 with SECLEVEL 1 in /etc/ssl/openssl.cnf as SECLEVEL 2 prevents SHA1 encryption, which was necessary for Moneris in my case, which only seems to support the deprecated SHA1 signatures.


After an upgrade on Ubuntu 20, I get the same problem.

The solution was to upgrade to openssl-1.1.1g . By default Ubuntu 20 use the openssl-1.1.1f that don't work well.

link to an installation solution for this still unpackaged version of openssl.