Auth: add Public API for CURLOPT_CAPATH or other mechanism to avoid expensive reload
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
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.
由索引模型根据 Issue 内容生成。
描述
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.
- 主要语言
- C++
- 星标
- 659
- 派生
- 475
- 平均合并
- 1 天 14 小时
- 30 天内合并 PR
- 84
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
googleapis/google-cloud-cpp 的其他 Issue
-
cleanup(storage): remove deprecated OpenTelemetry rpc.message.type and rpc.message.id attributes未关闭api: storage type: cleanup
难度 2/5 1-3 小时 新手友好度 76/100
googleapis/google-cloud-cpp#16544 ·
维护者通常 1 天内回复
-
api: storage priority: p2 type: bug
难度 2/5 1-3 小时 新手友好度 82/100
googleapis/google-cloud-cpp#16529 ·
维护者通常 1 天内回复
-
type: feature request
难度 2/5 1-3 小时 新手友好度 73/100
googleapis/google-cloud-cpp#16193 ·
维护者通常 1 天内回复
-
api: storage type: cleanup
难度 3/5 1-2 天 新手友好度 55/100
googleapis/google-cloud-cpp#16545 ·
维护者通常 1 天内回复
-
api: storage type: cleanup
难度 3/5 1-2 天 新手友好度 68/100
googleapis/google-cloud-cpp#16404 ·
维护者通常 1 天内回复
查看 googleapis/google-cloud-cpp 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
swiftlang/indexstore-db#306 ·
-
难度 2/5 1-3 小时 新手友好度 62/100
ArduCAM/Arducam_tof_camera#125 ·
-
难度 2/5 1-3 小时 新手友好度 87/100
maplibre/maplibre-native#4822 ·
维护者通常 1 天内回复
-
bug-unconfirmed
难度 2/5 1-3 小时 新手友好度 64/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复