一年前,我根据https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-certificates-point-to-site#clientexport使用 PowerShell 创建了我的自签名证书,现在是时候更新它们。我什至无法通过 VPN 进入我设置的 Azure 云,因为证书今天已过期。我在尝试启动 VPN 的任何 Windows 10 客户端计算机上收到错误消息“找不到可用于此可扩展身份验证协议的证书。(错误 798)”。
我相信此时我将不得不重新生成根证书和客户端的所有证书,但请告知是否有更简单的方法来解决这个问题。
似乎没有简单的方法,只能每次从头开始。尽管最好在证书过期之前执行此操作 - 如果证书确实对您过期,请再次遵循相同的程序。这是您第一次生成原始自签名证书时所遵循的步骤的子集(当然,除了现在您没有重新创建虚拟网络或在 Azure 上重新创建 VPN 网关等。相反,您只需更新在下面的步骤 2 中为其提供公共证书数据)。
是的,在此过程中(下面的步骤 1 和 2),您将创建一个新的根证书,并且必须将公共证书数据粘贴到 Azure 门户 ( https://portal.azure.com )。您可以在其中保留多个(最多 20 个)此类证书,这样做的目的是预测证书到期,并在旧证书到期之前为您的 Azure 云准备下一个有效证书。
除了如果证书不小心过期并且您还没有准备好新的证书来替换它们,您的用户将暂时遇到停机时间,您基本上不会错过任何一个节拍,只需遵循以下相同的步骤。
注意:云上的任何虚拟机都不一定需要安装证书(除非您在那里使用它们以及其他需要加密的目的)。只有客户会。Azure 点到站点网关的证书数据(处理您的 VPN 连接)是所有需要在云中更新的内容,请按照下面的第 2 步进行。当然,您必须更新客户的证书(第 3 步)。
完成上述步骤后,您的客户应该能够重新建立与您的 Azure 云的 VPN 连接(并摆脱错误 798),并能够像以前一样在那里完成所有工作。
第一个答案好复杂……
要更新现有的 VPN 证书,这是不可能的.. 你可以做的只是将新的证书密钥添加到现有的 azure VPN 配置中
首先从 azure 中删除现有的根密钥
然后在您的 PowerShell ISE 控制台上运行以下 PowerShell 脚本
$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature
-Subject "CN=PS2RootCert" -KeyExportPolicy Exportable
-HashAlgorithm sha256 -KeyLength 2048 ` -CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSignNew-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature
-Subject "CN=PS2ChildCert" -KeyExportPolicy Exportable
-HashAlgorithm sha256 -KeyLength 2048-CertStoreLocation "Cert:\CurrentUser\My"
-Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")导出 root 和 clild 证书密钥
在 azure exisitng VPN 配置上添加 root expored key 确保删除旧的
然后在 UserPC 上安装新的 childcert 并使用相同的旧设置连接