3 votos

Almacenamiento de CA para cURL en Mavericks

Estaba solucionando un problema con Arcanist y Phabricator en MacOSX, un error de cURL/60, pero no estaba claro cómo comprobar de dónde obtenían su confianza las bibliotecas php curl.

¿Dónde o cómo maneja Mavericks el almacenamiento de confianza para las Autoridades de Certificación y los certificados autofirmados para cURL y/o las bibliotecas curl? ¿Hay alguna fuente de documentación sobre esto que me esté perdiendo?

Nb, soy bastante nuevo con MacOS.

0 votos

La línea de comandos curl tiene opciones para especificar las autoridades de certificación, por lo que podría ser capaz de controlar las cosas si el sistema por defecto no está funcionando para usted. ¿Qué bibliotecas curl de PHP específicas estás utilizando?

0voto

Chris Paveglio Puntos 152

Para la documentación: Si quieres leer alguna de las instrucciones de la biblioteca Unix, puedes abrir la aplicación Terminal. Escribe "man curl" y obtendrás el manual de la función curl. Hay una aplicación llamada "iMan" que hace un buen trabajo mostrando las páginas del manual en un formato más legible, y puede buscar manuales o mostrar variaciones de bibliotecas similares ( https://sourceforge.net/projects/iman-macosx ).

0voto

Jordan W. Puntos 1083

CURL ya no agrupa NINGÚN certificado de CA, por lo que rechaza todos los certificados SSL como no verificables.

Necesitarás obtener el certificado de tu CA para que las cosas funcionen como deberían:

  1. Descargue el cURL cacert.pem y guárdalo en tu servidor
  2. actualizar php.ini - añadir curl.cainfo = "PATH_TO/cacert.pem"
  3. O añada lo siguiente y/o algo similar a sus opciones cURL para cada instancia:
curl_setopt($ch, CURLOPT_CAINFO, "PATH_TO/cacert.pem");   
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);

Más información aquí

0 votos

Compara la salida de 'curl thawte.com > /dev/null' y 'curl cacert.org > /dev/null'. Puede que cURL no lo empaquete, pero Apple está empaquetando algunas confianzas. El mod php.ini parece ser parte de las instrucciones de Phabricator, el problema es que incluso después de modificar php.ini y añadir curl.cainfo, este todavía no confía en el certificado. cURL en Mavericks parece simplemente no utilizar las opciones y puede estar obteniendo los certificados en otra parte.

0voto

Colin McLarty Puntos 128

He hecho algunos experimentos con la utilidad "Keychain Access". http://en.wikipedia.org/wiki/Keychain_(Apple)#Keychain_Access . Parece que cURL utiliza el mismo almacén de confianza que Safari, y está configurado allí.

Puedo confiar en un certificado en Safari y se confiará en cURL. Entonces puedo decirle al sistema que no confíe en el certificado en la utilidad Keychain Access y cURL ya no confiará en él.

No estoy seguro de dónde está documentado, pero funciona perfectamente.

Keychain Access

Supongo que leeré más sobre el funcionamiento de Mavericks.

-1voto

hntangwei Puntos 32

La documentación que busca está aquí. Explica cómo utilizar cURL en Mavericks y cómo suministrar sus certificados: http://curl.haxx.se/mail/archive-2013-10/0036.html

0 votos

Podrías añadir los pasos en tu respuesta ya que la URL podría morir.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X