Je veux faire une demande de courbure dans PHP 7.3.90
curl -V
curl 7.64.0 (x86_64-pc-linux-gnu) libcurl/7.64.0 OpenSSL/1.1.1d zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) libssh2/1.8.0 nghttp2/1.36.0 librtmp/2.3
Release-Date: 2019-02-06
Protocols: dict file ftp ftps Gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL
$ch = curl_init();
// 2. set the options, including the url
curl_setopt($ch, CURLOPT_URL, "https://mydomain/get-token");
curl_setopt($ch, CURLOPT_HTTPHEADER, array("App-Key: YOUR-KEY-HERE"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
et la réponse est
"cURL error 35: error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)"
J'ai eu le même problème avec la commande CURL et je l'ai résolu avec
[system_default_sect]
MinProtocol = TLSv1.2
CipherString = DEFAULT@SECLEVEL=1
à la place de
[system_default_sect]
MinProtocol = TLSv1.2
CipherString = DEFAULT@SECLEVEL=2
https://github.com/curl/curl/issues/4097 et openssl v1.1.1 SSL_CHOOSE_CLIENT_VERSION protocole non pris en charge
Quelle option CURL que je dois utiliser pour résoudre cette erreur?
Merci
Je sais que ces questions sont assez anciennes, mais j'ai couru dans le même problème lorsque vous travaillez avec une vieilletoux Hermes Caugh API.
Je n'ai également pas voulu définir Seclevel vers 1 pour l'ensemble du système. Ce que vous cherchez est ce qui suit:
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'DEFAULT@SECLEVEL=1');
il suffit de mettre cette pièce de code dans votre application et que vous devriez aller pour cette demande. Bien sûr, ce n'est pas le moyen le plus sûr, mais lorsque l'API ne vous configure pas correctement, vous n'avez pas de choix.
Après une mise à niveau sur Ubuntu 20, j'ai le même problème.
La solution consistait à passer à OpenSSL-1.1.1 g. Par défaut Ubuntu 20 Utilisez OpenSSL-1.1.1 F Cela ne fonctionne pas bien.
Lien vers une solution d'installation Pour cette version encore déballée de OpenSSL.