---
title: 编译TensorFlow 1.15.5时提示证书校验失败的解决办法
description: "执行编译TensorFlow 1.15.5命令时提示unable to find valid certification path to requested target证书校验失败，详细信息如下："
url: https://www.hikunpeng.com/document/detail/zh/SRA/ecosystemEnable/TensorFlow/kunpengtensorflow_02_0028.html
sourcePath: /source/zh/SRA/ecosystemEnable/TensorFlow/kunpengtensorflow_02_0028.html
indexId: 415efcd24822b8043cb82d6c8580c785be93ece0a9f8fa5ec27c0f4a28d97c4a72
---
# 编译TensorFlow 1.15.5时提示证书校验失败的解决办法

#### 问题现象描述

执行编译TensorFlow 1.15.5命令时提示unable to find valid certification path to requested target证书校验失败，详细信息如下：


#### 关键过程、根本原因分析

关键错误信息：下载依赖组件时，找不到请求目标的有效证书路径。

```
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
```


#### 结论、解决方案及效果

1. 通过浏览器导出证书。
  使用浏览器（本文以谷歌浏览器为例）访问GitHub网站(https://github.com)，按照下图操作顺序导出保存证书，证书文件后缀为crt，例如ca.crt。

2. 将浏览器导出的证书导入到服务器。

  a. 将证书上传到服务器。
  b. 导入证书。
    1 keytool -import -alias ca -keystore /usr/lib/jvm/java-11-openjdk-11.0.21.9-1.oe2203sp3.aarch64/lib/security/cacerts -file ca.crt -trustcacerts -storepass changeit -noprompt

    导入证书命令参数说明： -alias：指定别名（用户可以自定义名称）。 -keystore：指定存储文件，在java/lib/security的目录下（用户需要根据环境中实际路径指定）。 -file：证书文件（绝对路径+证书文件名）。 -storepass：指定存储密码，默认为changeit，查询或删除配置时，需要用到此密码。 -trustcacerts：表示将信任的CA证书添加到密钥库中。 -noprompt：可选项，关闭提示信息。 cacerts证书库默认密码为“changeit”（如果使用之前有修改过，则使用修改过的密码）。

  c. 查看证书是否导入成功。
    1 keytool -list -storepass changeit -keystore /usr/lib/jvm/java-11-openjdk-11.0.21.9-1.oe2203sp3.aarch64/lib/security/cacerts | grep -w ca

    回显信息显示存在对应别名，代表证书导入成功。

    如果需要删除证书，可以执行以下命令。 1 keytool -delete -storepass changeit -keystore /usr/lib/jvm/java-11-openjdk-11.0.21.9-1.oe2203sp3.aarch64/lib/security/cacerts -alias ca

  d. 重启设备。

```
reboot
```


3. 重启设备后需重新配置TensorFlow编译配置。

  a. 配置网络代理，请参见    配置网络代理
。
  b. 设置pip源。
    1 2 pip config set global.index-url https://mirrors.huaweicloud.com/repository/pypi/simple pip config set global.trusted-host mirrors.huaweicloud.com

  c. 添加Bazel信息到环境变量中。
    1 export PATH=/path/to/bazel/bazel-0.26.1/output:$PATH

  d. 添加Python信息添加到环境变量中。
    1 2 export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH export PATH=/usr/local/python3.7.5/bin:$PATH

4. 重新编译TensorFlow。
  1 bazel build --config=v1 --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" //tensorflow/tools/pip_package:build_pip_package
