客户端日志显示“peer certificate verification failure”
适用的客户端
Windows OpenVPN Connect
故障现象
客户端无法正常连接终端入云VPN网关,日志中记录如下错误:
peer certificate verification failure
可能原因
- 服务端证书自带的证书链不完整,导致客户端无法认证配置文件中CA证书的有效性。
- 客户端配置中的CA证书链长度超过了3个。
处理步骤
- 检查客户端配置中的CA证书链的长度是否过长。
- 以记事本或Notepad++打开“client_config.ovpn”文件。
- 查看客户端配置文件中的CA证书数量。
- 如果CA证书的数量不超过3个,请继续步骤2。
- 如果CA证书的数量超过3个,表示长度过长,需要重新生成CA证书。如何生成CA证书,请参考通过Easy-RSA自签发证书(服务端和客户端共用CA证书)。
- 登录管理控制台。
- 在管理控制台左上角单击
图标,选择区域和项目。
- 在页面左上角单击
图标,选择 。
- 在左侧导航栏,选择 。
- 选择“终端入云VPN网关”页签,单击目标VPN网关操作列的“查看服务端”。
- 上传CA证书。
- 在“服务端”界面,在“客户端认证类型”下拉选项中选择“证书认证 ”,单击“上传CA证书”。
- 根据界面提示填写相关信息。
表1 上传CA证书参数说明 参数
说明
取值样例
名称
支持修改。
ca-cert-xxxx
内容
以文本编辑器(如Notepad++)打开签名证书PEM格式的文件,将证书内容复制到此处。
说明:- 推荐使用强密码算法的证书,如RSA3072/4096。
- RSA2048加密算法的证书存在风险,请慎用。
-----BEGIN CERTIFICATE-----
证书内容
-----END CERTIFICATE-----
- 单击确定。
- 删除错误的CA证书。
- 在“服务端”界面,选择错误的客户端CA证书的操作列,单击“删除”。
- 在“删除CA证书”的弹窗中,单击确定。
- 下载新的客户端配置文件。
下载的客户端配置文件为“client_config.zip”。
- 解压缩“client_config.zip”至指定目录,如“D:\”目录下。
解压缩后,可以得到“client_config.ovpn”和“client_config.conf”两个文件。
- 以记事本或Notepad++打开“client_config.ovpn”文件。
- 添加客户端证书及私钥。
在<cert></cert>和<key></key>标记对内分别填写客户端证书、客户端证书私钥。示例如下:
<cert> -----BEGIN CERTIFICATE----- 此处添加客户端证书 -----END CERTIFICATE----- </cert> <key> -----BEGIN PRIVATE KEY----- 此处添加客户端私钥 -----END PRIVATE KEY----- </key>
- 保存ovpn配置文件。
- 打开OpenVPN客户端。
- 导入新的客户端配置文件。
- 使用客户端重新连接VPN网关。
- 检查服务端证书链是否完整。
- 以记事本或Notepad++打开“client_config.ovpn”文件。
- 查看客户端配置文件中的CA证书数量。
- 双击打开所有配置文件中的CA证书,单击“证书路径”,查看证书的颁发者和使用者是否能形成完整的上下级关系。
- 如果最上级证书的颁发者和使用者是同一个,说明证书链完整。完整的证书链如图 完整的CA证书链。
- 如果最上级证书的颁发者和使用者不是同一个,说明证书链不完整,请参考以下步骤补充证书链信息。
- 新建一个空白的记事本文件。
- 将“client_config.ovpn”中的CA证书内容复制粘贴到新的记事本文件中。证书内容如下:
<ca> -----BEGIN CERTIFICATE----- CA证书 -----END CERTIFICATE----- </ca>
- 保存新文件,并命名为“ca.crt”。
- 双击CA证书,单击“证书路径”,可以看到该证书的上级证书。
- 选择上级证书,单击“查看证书”,会弹出上级证书的新窗口。
- 在“详细信息”页签中,单击“复制到文件”。
- 单击“下一步”。
- 选择“Base64编码”,单击“下一步”。
- 输入文件名,如“root-ca.cer”。
- 选择
如果配置文件中的CA证书有两个,需要将两个CA证书的上级证书都导出。
。
- 以记事本或Notepad++打开“root-ca.cer”和“client_config.ovpn”文件。
- 将上级证书内容复制粘贴到“client_config.ovpn”文件中的已有CA证书下面。
证书内容格式如下:
-----BEGIN CERTIFICATE----- 已有CA证书 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- 上级CA证书 -----END CERTIFICATE-----
- 保存cer证书文件。
- 打开OpenVPN客户端。
- 导入新的客户端配置文件。
- 使用客户端重新连接VPN网关。
- 按Win+R,输入cmd,打开命令窗口。
- [/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
如果上述操作仍然无法解决客户端登录问题,请提交工单联系华为工程师。