para ejecutar descargar api curl ssl windows-8 get-request

api - ejecutar - exec curl windows



Corregir error de SSL de CURL(51): no hay ningĂșn nombre de sujeto de certificado alternativo que coincida (3)

Soy nuevo en el mundo de CURL, proveniente del dominio de Windows + .NET.

Intentando acceder a Rest API para la autenticación básica en http://www.evercam.io/docs/api/v1/authentication .

curl -X GET https://api.evercam.io/v1/... / -u {username}

No sé cómo utilizar este comando en el símbolo del sistema de Windows después de tener la configuración de CURL correctamente. Probado CURL de la siguiente manera:

C:/>curl --version curl 7.33.0 (x86_64-pc-win32) libcurl/7.33.0 OpenSSL/0.9.8y zlib/1.2.8 libssh2/1.4.3 Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp s ftp smtp smtps telnet tftp Features: AsynchDNS GSS-Negotiate Largefile NTLM SSL SSPI libz

Ahora estoy terminando con esto

C:/>curl -u myuser:mypassword -X GET https://api.evercam.io/v1/ curl: (51) SSL: no alternative certificate subject name matches target host name ''api.evercam.io''

¿Cómo puedo solucionar este problema de SSL 51?


El nombre común en el certificado de api.evercam.io es para *.herokuapp.com y no hay nombres de tema alternativos en el certificado. Esto significa que el certificado de api.evercam.io no coincide con el nombre de host y, por lo tanto, falla la verificación del certificado. Lo mismo ocurre con www.evercam.io , por ejemplo, intente https://www.evercam.io con un navegador y obtendrá el mensaje de error, que el nombre en el certificado no coincide con el nombre de host.

Por lo tanto, es un problema que debe ser corregido por evercam.io. Si no te importa la seguridad, los ataques de intermediario, etc., puedes deshabilitar la verificación del certificado ( curl --insecure ), pero luego debes preguntarte por qué usas https en lugar de http.


Sé que es una (muy) vieja pregunta y se trata de la línea de comando, pero cuando busqué en Google "SSL: ningún nombre de sujeto alternativo del certificado coincide con el nombre de host de destino", este fue el primer golpe.

Me llevó un buen rato averiguar la respuesta, así que espero que esto le ahorre a alguien mucho tiempo. En PHP, agregue esto a sus servidores de escritorio:

curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);

PD: esta debería ser una solución temporal. Como se trata de un error de certificado, lo mejor es tener el certificado por supuesto.