如何替换 AWS Client VPN 的证书以解决 TLS 握手错误?

1 分钟阅读
0

我的 AWS Client VPN 显示 TLS 握手错误。我想检查我的端点证书是否已过期,然后将其替换。

简短描述

当客户端尝试连接到 Client VPN 端点时,Client VPN 使用证书进行客户端身份验证。如果证书过期,则无法与端点达成安全 TLS 会话,客户端也无法建立连接。然后,您的 Client VPN 显示 TLS 握手错误。要解决此错误,请在不重新创建端点的情况下替换过期的证书。

解决方法

确认您的端点证书已过期

首先,确认您的证书已过期。打开 AWS Certificate Manager(ACM)控制台,查看您当前的证书。记下 Client VPN 端点使用的任何已过期的证书 ID。

续订过期的证书

要续订证书,请执行以下步骤:

  1. 将 OpenVPN easy-rsa repo 克隆到本地计算机,然后导航到 easy-rsa/easyrsa3 文件夹。

    $ git clone https://github.com/OpenVPN/easy-rsa.git cd easy-rsa/easyrsa3
  2. 启动新的 PKI 环境。

    ./easyrsa init-pki
  3. 构建新的证书颁发机构,然后按照所有提示执行操作:

    ./easyrsa build-ca nopass
  4. 生成服务器证书和密钥:

    ./easyrsa build-server-full server nopass
  5. 生成客户端证书和密钥。记下客户端证书和客户端私钥。

    ./easyrsa build-client-full client1.domain.tld nopass
  6. 将服务器证书和密钥以及客户端证书和密钥复制到自定义文件夹。

    mkdir ~/custom_folder/cp pki/ca.crt ~/custom_folder/cp pki/issued/server.crt ~/custom_folder/cp pki/private/server.key ~/custom_folder/cp pki/issued/client1.domain.tld.crt ~/custom_foldercp pki/private/client1.domain.tld.key ~/custom_folder/cd ~/custom_folder/
  7. 创建新证书后,将其导入 AWS Certificate Manager。确保完成此步骤时用于访问控制台的区域适用于您的 Client VPN 端点。

**注意:**请注意,完成这些步骤后,您将创建新的证书颁发机构 (CA, Certificate Authority)。以 .crt 文件结尾的文件类型包含证书正文,.key 文件包含证书私钥,ca.crt 文件包含证书链。

更改 Client VPN 使用的证书

将新证书导入 AWS Certificate Manager 后,您现在可以更改 Client VPN 端点使用的证书:

  1. Amazon Virtual Private Cloud(Amazon VPC)控制台中,选择客户端 VPN 端点
  2. 选择操作,然后选择修改客户端 VPN 端点
  3. 身份验证信息下,选择您创建的服务器证书。
  4. 选择修改客户端 VPN 端点以保存更改。
  5. 下载 Client VPN 配置文件以反映所做的更改。
  6. 成功连接到您的端点后,删除过期的证书。
  7. 您还可以使用 Amazon CloudWatch 中的 DaysToExpiry 证书指标,跟踪您的证书到期时间并避免 TLS 握手错误。

相关信息

相互身份验证

AWS 官方
AWS 官方已更新 1 年前