Windows10下Bazel访问企业签名TLS远程缓存SSL握手失败求助
解决方案
方案1:直接指定企业根证书路径(全版本兼容)
将Windows系统证书库中对应的企业根CA证书导出为Base64编码的X.509格式文件,存放在本地路径(例如C:\certs\corp-root.crt),构建时添加--tls_certificate参数即可,无需修改Java信任库配置:
bazel build //... ^ --remote_cache=https://dev.brc.com/project ^ --tls_certificate=C:\certs\corp-root.crt
方案2:修正JVM系统证书调用参数
你之前执行报错是因为trustStore参数值填写错误,正确值为NONE而非NULL。如果使用系统安装的11.0.12+版本OpenJDK运行Bazel,可直接通过以下命令调用Windows系统证书库:
set JAVA_HOME=你的本地高版本JDK路径 bazel ^ --host_jvm_args=-Djavax.net.ssl.trustStoreType=Windows-ROOT ^ --host_jvm_args=-Djavax.net.ssl.trustStore=NONE ^ build //...
方案3:启用Bazel原生TLS栈(无需额外证书配置)
Bazel 4.1.0支持实验性原生HTTP客户端,不依赖Java SSL实现,会自动读取Windows系统已信任的证书,开启对应参数即可:
bazel build //... ^ --remote_cache=https://dev.brc.com/project ^ --experimental_remote_cache_async ^ --remote_cache_use_java_http_client=false
内容的提问来源于stack exchange,提问作者McAmun
相关产品推荐
相关产品推荐

