Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Auth: add Public API for CURLOPT_CAPATH or other mechanism to avoid expensive reload

Abierto
#16,575 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
cpp
Área
backend, security

Línea de trabajo

Start by reading the discussion at https://github.com/googleapis/google-cloud-cpp/discussions/16111 and the existing internal CAPathOption and public CARootsFilePathOption implementations. Determine how curl options are exposed and tested, then assess a supported public option for CURLOPT_CAPATH. Done means the public API can select a CA directory and tests verify that it configures the intended curl behavior.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Discussed in https://github.com/googleapis/google-cloud-cpp/discussions/16111

Originally posted by LukePickett2 May 21, 2026
We're using google-cloud-cpp on Linux with OpenSSL 3.2, and have found that the default behavior — leaving libcurl to use the system CA bundle file via CURLOPT_CAINFO — causes OpenSSL to parse and load the entire bundle into a fresh SSL_CTX on each connection. With OpenSSL 3.2+ this is noticeably more expensive than the alternative: setting CURLOPT_CAPATH to a hashed certificate directory (e.g. /etc/ssl/certs/), which allows OpenSSL to do a single O(1) lookup for only the CA cert needed to verify each connection.

We noticed google:☁️:storage::internal::CAPathOption and google:☁️:internal::CAPathOption exist but are both marked "only intended for testing, not for public use."

Is there a supported/public way to achieve CURLOPT_CAPATH behavior? If not, is there any plan to expose this as a public option alongside CARootsFilePathOption? We'd rather not rely on an internal API for production use.

Lenguaje dominante
C++
Estrellas
659
Forks
475
Merge medio
1 d 14 h
PR fusionados (30 d)
84

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de googleapis/google-cloud-cpp

Todos los issues de googleapis/google-cloud-cpp

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.