客户端日志显示“Certificate does not have key usage extension”
适用的客户端
Windows OpenVPN GUI
故障现象
客户端无法正常连接终端入云VPN网关,日志中记录如下错误:
Certificate does not have key usage extension
可能原因
VPN网关使用的服务端证书缺少“服务器身份验证”的扩展属性,导致验证失败。
处理步骤
- 找到目标服务端证书,右键单击属性。
- 单击“详细信息”,查看证书中是否包含“服务器身份验证”的值。如图 服务端证书所示。
如果证书中不包含“服务器身份验证”扩展属性,需要重新生成服务端证书。如何生成服务端证书,请参考通过Easy-RSA自签发证书(服务端和客户端共用CA证书)。
如果使用的服务端证书是OpenSSL自签发生成的,默认不携带此扩展属性。需要在OpenSSL配置文件中补充配置extendedKeyUsage = serverAuth。示例如下粗体:
...... keyUsage = nonRepudiation,digitalSignature,keyEncipherment extendedKeyUsage = serverAuth ......
- 登录管理控制台。
- 在管理控制台左上角单击
图标,选择区域和项目。
- 在页面左上角单击
图标,选择 。
- 在左侧导航栏,选择 。
- 单击“终端入云VPN网关”进入“终端入云VPN网关”页面,单击目标VPN网关操作列的“查看服务端”。
- 在VPN网关的“服务端”页签中,单击“更换”。
- 在更换证书的弹窗中,单击“上传证书”。
将新的服务端证书上传到CCM。如何上传服务端证书,请参考上传服务端证书。
- 下载新的客户端配置文件。
下载的客户端配置文件为“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网关。
- 按Win+R,输入cmd,打开命令窗口。
- [/topic/body/section/ol/li/styler {""}) 执行以下命令,验证连通性。 (styler]
[/topic/body/section/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
如果上述操作仍然无法解决客户端登录问题,请提交工单联系华为工程师。