
# 客户端日志显示"peer certificate verification failure"
#### 适用的客户端
Windows OpenVPN Connect
#### 故障现象
客户端无法正常连接终端入云VPN网关，日志中记录如下错误：
```
peer certificate verification failure
```
#### 可能原因
- 服务端证书自带的证书链不完整，导致客户端无法认证配置文件中CA证书的有效性。
- 客户端配置中的CA证书链长度超过了3个。
 
#### 处理步骤
1. 检查客户端配置中的CA证书链的长度是否过长。
   1. 以记事本或Notepad++打开"client_config.ovpn"文件。
   
   2. 查看客户端配置文件中的CA证书数量。
      - 如果CA证书的数量不超过3个，请继续步骤[2]。
      
      - 如果CA证书的数量超过3个，表示长度过长，需要重新生成CA证书。如何生成CA证书，请参考[通过Easy-RSA自签发证书（服务端和客户端共用CA证书）](https://support.huaweicloud.com/admin-vpn/p2cvpn_admin_00001.html)。
       
   
   
   
   3. 登录管理控制台。
   
   4. 在管理控制台左上角单击![](https://support.huaweicloud.com/trouble-vpn/figure/zh-cn_image_0000001628070572.png "点击放大")图标，选择区域和项目。
   
   5. 在页面左上角单击![](https://support.huaweicloud.com/trouble-vpn/figure/zh-cn_image_0000002338014394.png "点击放大")图标，选择"网络 \> 虚拟专用网络 VPN"。
   
   6. 在左侧导航栏，选择"虚拟专用网络 \> 企业版-VPN网关"。
   
   7. 选择"终端入云VPN网关"页签，单击目标VPN网关操作列的"查看服务端"。
   
   8. 上传CA证书。
      1. 在"服务端"界面，在"客户端认证类型"下拉选项中选择"证书认证 "，单击"上传CA证书"。
      
      2. 根据界面提示填写相关信息。
         表1上传CA证书参数说明 
         | 参数 | 说明                                                                                                                                                                                                                                                                                                                                                                                                         | 取值样例                                                                                                                                                   |
         |:---|:---|:---|
         | 名称 | 支持修改。                                                                                                                                                                                                                                                                                                                                                                                                      | ca-cert-xxxx                                                                                                                                           |
         | 内容 | 以文本编辑器（如Notepad++）打开签名证书PEM格式的文件，将证书内容复制到此处。 说明： - 推荐使用强密码算法的证书，如RSA3072/4096。  - RSA2048加密算法的证书存在风险，请慎用。   | -----BEGIN CERTIFICATE----- 证书内容 -----END CERTIFICATE----- |
            
         
      
      3. 单击确定。
       
   
   9. 删除错误的CA证书。
      1. 在"服务端"界面，选择错误的客户端CA证书的操作列，单击"删除"。
      
      2. 在"删除CA证书"的弹窗中，单击确定。
       
   
   10. 下载新的客户端配置文件。 下载的客户端配置文件为"client_config.zip"。
       
   
   11. 解压缩"client_config.zip"至指定目录，如"D:\\"目录下。 解压缩后，可以得到"client_config.ovpn"和"client_config.conf"两个文件。
       
   
   12. 以记事本或Notepad++打开"client_config.ovpn"文件。
   
   13. 添加客户端证书及私钥。
       在\<cert\>\</cert\>和\<key\>\</key\>标记对内分别填写客户端证书、客户端证书私钥。示例如下：
       ```
       <cert>
       -----BEGIN CERTIFICATE-----
       此处添加客户端证书
       -----END CERTIFICATE-----
       </cert>
       <key>
       -----BEGIN PRIVATE KEY-----
       此处添加客户端私钥
       -----END PRIVATE KEY-----
       </key>
       ```
       
   
   14. 保存ovpn配置文件。
   
   15. 打开OpenVPN客户端。
   
   16. 导入新的客户端配置文件。
   
   17. 使用客户端重新连接VPN网关。
    
2. 检查服务端证书链是否完整。
   1. 以记事本或Notepad++打开"client_config.ovpn"文件。
   
   2. 查看客户端配置文件中的CA证书数量。
   
   3. 双击打开所有配置文件中的CA证书，单击"证书路径"，查看证书的颁发者和使用者是否能形成完整的上下级关系。
      - 如果最上级证书的颁发者和使用者是同一个，说明证书链完整。完整的证书链如[图 完整的CA证书链]。
        图1完整的CA证书链   
        ![](https://support.huaweicloud.com/trouble-vpn/figure/zh-cn_image_0000002238039490.png "点击放大") 
      
      - 如果最上级证书的颁发者和使用者不是同一个，说明证书链不完整，请参考以下步骤补充证书链信息。
      
      
      1. 新建一个空白的记事本文件。
      
      2. 将"client_config.ovpn"中的CA证书内容复制粘贴到新的记事本文件中。证书内容如下：
         ```
         <ca>
         -----BEGIN CERTIFICATE-----
         CA证书
         -----END CERTIFICATE-----
         </ca>
         ```
         
      
      3. 保存新文件，并命名为"ca.crt"。
      
      4. 双击CA证书，单击"证书路径"，可以看到该证书的上级证书。
      
      5. 选择上级证书，单击"查看证书"，会弹出上级证书的新窗口。
      
      6. 在"详细信息"页签中，单击"复制到文件"。
      
      7. 单击"下一步"。
      
      8. 选择"Base64编码"，单击"下一步"。
      
      9. 输入文件名，如"root-ca.cer"。
      
      10. 选择"下一步 \> 完成"。 如果配置文件中的CA证书有两个，需要将两个CA证书的上级证书都导出。
          
      
      11. 以记事本或Notepad++打开"root-ca.cer"和"client_config.ovpn"文件。
      
      12. 将上级证书内容复制粘贴到"client_config.ovpn"文件中的已有CA证书下面。 证书内容格式如下：
          ```
          -----BEGIN CERTIFICATE-----
          已有CA证书
          -----END CERTIFICATE-----
          -----BEGIN CERTIFICATE-----
          上级CA证书
          -----END CERTIFICATE-----
          ```
          
      
      13. 保存cer证书文件。
      
      14. 打开OpenVPN客户端。
      
      15. 导入新的客户端配置文件。
      
      16. 使用客户端重新连接VPN网关。
      
      17. 按**Win+R**，输入cmd，打开命令窗口。
      
      18. 执行以下命令，验证连通性。 **ping XX.XX.XX.XX**
          ![](https://support.huaweicloud.com/trouble-vpn/public_sys-resources/note_3.0-zh-cn.png)
          XX.XX.XX.XX为想要连接的ECS私网IP，请根据实际替换。
          回显如下信息，表示网络已通。
          ```
          64 bytes from XX.XX.XX.XX: icmp_seq=1 ttl=63 time=1.27 ms
          64 bytes from XX.XX.XX.XX: icmp_seq=2 ttl=63 time=1.36 ms
          64 bytes from XX.XX.XX.XX: icmp_seq=3 ttl=63 time=1.40 ms
          64 bytes from XX.XX.XX.XX: icmp_seq=4 ttl=63 time=1.29 ms
          64 bytes from XX.XX.XX.XX: icmp_seq=5 ttl=63 time=1.35 ms
          64 bytes from XX.XX.XX.XX: icmp_seq=6 ttl=63 time=1.52 ms
          ```
          
       
    
如果上述操作仍然无法解决客户端登录问题，请[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/serviceTickets)联系华为工程师。
