文档首页/ 虚拟专用网络 VPN/ 故障排除/ 终端入云VPN/ 客户端连接失败/ 客户端日志显示“peer certificate verification failure”
更新时间:2025-05-27 GMT+08:00
分享

客户端日志显示“peer certificate verification failure”

适用的客户端

Windows OpenVPN Connect

故障现象

客户端无法正常连接终端入云VPN网关,日志中记录如下错误:

peer certificate verification failure

可能原因

  • 服务端证书自带的证书链不完整,导致客户端无法认证配置文件中CA证书的有效性。
  • 客户端配置中的CA证书链长度超过了3个。

处理步骤

  1. 检查客户端配置中的CA证书链的长度是否过长。
    1. 以记事本或Notepad++打开“client_config.ovpn”文件。
    2. 查看客户端配置文件中的CA证书数量。
    1. 登录管理控制台。
    2. 在管理控制台左上角单击图标,选择区域和项目。
    3. 在页面左上角单击图标,选择网络 > 虚拟专用网络VPN
    4. 在左侧导航栏,选择虚拟专用网络 > 企业版-VPN网关
    5. 选择“终端入云VPN网关”页签,单击目标VPN网关操作列的“查看服务端”
    6. 上传CA证书。
      1. “服务端”界面,在“客户端认证类型”下拉选项中选择“证书认证 ”,单击“上传CA证书”
      2. 根据界面提示填写相关信息。
        表1 上传CA证书参数说明

        参数

        说明

        取值样例

        名称

        支持修改。

        ca-cert-xxxx

        内容

        以文本编辑器(如Notepad++)打开签名证书PEM格式的文件,将证书内容复制到此处。

        说明:
        • 推荐使用强密码算法的证书,如RSA3072/4096。
        • RSA2048加密算法的证书存在风险,请慎用。

        -----BEGIN CERTIFICATE-----

        证书内容

        -----END CERTIFICATE-----

      3. 单击确定。
    7. 删除错误的CA证书。
      1. 在“服务端”界面,选择错误的客户端CA证书的操作列,单击“删除”。
      2. 在“删除CA证书”的弹窗中,单击确定。
    8. 下载新的客户端配置文件。

      下载的客户端配置文件为“client_config.zip”

    9. 解压缩“client_config.zip”至指定目录,如“D:\”目录下。

      解压缩后,可以得到“client_config.ovpn”“client_config.conf”两个文件。

    10. 以记事本或Notepad++打开“client_config.ovpn”文件。
    11. 添加客户端证书及私钥。
      在<cert></cert>和<key></key>标记对内分别填写客户端证书、客户端证书私钥。示例如下:
      <cert>
      -----BEGIN CERTIFICATE-----
      此处添加客户端证书
      -----END CERTIFICATE-----
      </cert>
      
      <key>
      -----BEGIN PRIVATE KEY-----
      此处添加客户端私钥
      -----END PRIVATE KEY-----
      </key>
    12. 保存ovpn配置文件。
    13. 打开OpenVPN客户端。
    14. 导入新的客户端配置文件。
    15. 使用客户端重新连接VPN网关。
  2. 检查服务端证书链是否完整。
    1. 以记事本或Notepad++打开“client_config.ovpn”文件。
    2. 查看客户端配置文件中的CA证书数量。
    3. 双击打开所有配置文件中的CA证书,单击“证书路径”,查看证书的颁发者和使用者是否能形成完整的上下级关系。
      • 如果最上级证书的颁发者和使用者是同一个,说明证书链完整。完整的证书链如图 完整的CA证书链
        图1 完整的CA证书链
      • 如果最上级证书的颁发者和使用者不是同一个,说明证书链不完整,请参考以下步骤补充证书链信息。
      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. [/topic/body/section/ol/li/ol/li/ol/li/styler {""}) 执行以下命令,验证连通性。 (styler]
        [/topic/body/section/ol/li/ol/li/ol/li/p/ph/styler {""}) ping XX.XX.XX.XX (styler]

        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

如果上述操作仍然无法解决客户端登录问题,请提交工单联系华为工程师。

相关文档