Desde el docs:
--cacert (HTTPS) Indica rizo para utilizar el archivo de certificado especificado para verificar los pares. El archivo puede contener múltiples certificados de CA. El certificado debe estar en formato PEM. Si esta opción se usa varias veces , se usará la última.
- capacidad (HTTPS) Indica a curl que utilice el directorio de certificados especificado para verificar el par. Los certificados deben estar en formato PEM y el directorio debe haberse procesado utilizando la utilidad c_rehash suministrada con openssl. Los directorios de certificados no son compatibles con Windows (porque c_rehash usa enlaces symbolink para crearlos). Usar --capath puede permitir que curl haga conexiones https mucho más eficientemente que usando --cacert si el archivo --cacert contiene muchos certificados de CA. Si esta opción se usa varias veces, se usará la última.
Por lo tanto, si especifica --cacert, los certificados de CA se almacenan en el archivo especificado. Estos certificados de CA se utilizan para verificar los certificados de servidores remotos a los que se conecta cURL.
La opción --capath se utiliza para especificar un directorio que contiene los certificados de CA en lugar de un único archivo. La utilidad c_rehash se debe usar para preparar el directorio, es decir, crear los enlaces necesarios. El principal beneficio de usar --capath parece ser que es más eficiente que el --certificar un único archivo si tiene muchos certificados de CA.
Aquí hay un script que probablemente hace lo que hace c_rehash:
for file in *.pem; do ln -s $file `openssl x509 -hash -noout -in $file`.0; done
Con las dos opciones que se debe tener cuidado para incluir sólo certificados de CA de las CA de confianza. Si, por ejemplo, sabe que los servidores remotos siempre deben tener certificados de YourCompanyCA, este es el único certificado de CA que debe incluir.
qué más eficiente? ¿Porque puede buscar el certificado a través del nombre del archivo? – Xailor
@Xepoch Sí, creo que crea archivos con el hash del nombre del sujeto de cada certificado y luego vincula estos archivos hash al certificado original. Esto hace que las búsquedas sean más rápidas. He agregado una pequeña secuencia de comandos que probablemente hace lo que hace c_rehash para tal vez hacerlo más claro. – PhilR
Dado que Ubuntu tiene un directorio de certificados ca, si quiero descargar el más reciente ca-bundle.crt del sitio web de Curl Haxx, ¿qué debería hacer? ¿Simplemente soltando el archivo en el directorio y ejecutando ese comando? ¿O hay alguna configuración específica de ubuntu requerida? – CMCDragonkai