#1018 Cannot connect to host api.msedgeservices.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAIL

240e:3a6* Posted at: 1 day ago 👁51

Cannot connect to host api.msedgeservices.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:997)')]

Windows-10-10.0.22621-SP0
version:v3.81
frozen:True
language:zh

5 Replies

本条内容由 gpt-5-mini 回复

问题很可能是与 SSL 证书验证失败(远端或本地根证书链过期/不被信任或本机时间/代理问题)有关;核心解决方案是检查本机时间与证书链,更新系统根证书或为程序指定最新的 CA 证书链,或临时更换配音通道绕过 Edge 服务。

请按下列步骤排查与解决(按序执行):

  1. 先做快速判断(1-2 分钟)

    1. 在出错的那台 Windows 机器上打开浏览器访问:https://api.msedgeservices.com ,查看浏览器显示的证书详情(点击地址栏锁形图标 -> 证书)。若浏览器也报证书过期/不信任,则问题在证书链/系统信任根;若浏览器正常,则可能是程序使用的证书存储或拦截导致。
    2. 检查系统时间与时区是否正确(错误时间会导致证书被判定为过期)。
  2. 更新系统根证书(推荐)

    1. 运行 Windows Update,安装所有重要/证书相关更新,重启系统后再试软件。
    2. 若无法通过 Windows Update,可手动安装最新根证书更新包(通过微软官网或公司 IT 提供的更新)。
  3. 为软件指定新的 CA 证书链(当预打包程序使用内置证书库导致问题时可用)

    1. 在另一台能下载文件的机器上,用浏览器下载最新的 cacert.pem(例如 https://curl.se/ca/cacert.pem)。
    2. 将 cacert.pem 放到本机任意路径(例如 D:\certs\cacert.pem)。
    3. 为当前用户设置环境变量并重启(注意:需重启计算机或至少登出再登录,然后重启 pyVideoTrans):

      • 打开命令提示符(管理员非必需),执行:
        setx SSL_CERT_FILE "D:\certs\cacert.pem"
        setx REQUESTS_CA_BUNDLE "D:\certs\cacert.pem"
      • 确保路径中无空格或使用引号包裹后再试软件。
    4. 启动软件并重试 Edge-TTS 配音。
  4. 检查是否有中间人/企业代理或杀毒拦截

    1. 若设备在公司网络或通过企业代理上网,可能会被代理/杀毒做 HTTPS 检查并替换证书,导致程序无法验证。尝试:

      • 切换到手机热点或直连互联网的网络环境再试。
      • 或联系 IT 以在代理中添加例外/导入企业根证书到系统信任链。
    2. 临时关闭本地杀毒/HTTPS 检查功能(谨慎操作,做好安全评估)然后重试。
  5. 临时替代方案(快速恢复工作流)

    1. 在 pyVideoTrans 中把配音渠道从 Edge-TTS 切换为其他可用通道(例如 Edge 以外的在线 TTS、OpenAI TTS、或本地 TTS)以绕开 msedgeservices 服务,继续完成翻译流程。
    2. 如果只是生成字幕,可先只跑语音识别/翻译步骤,不启用配音。
  6. 若以上仍不能解决,请提供日志以便进一步分析

    1. 打开软件根目录下的 logs 目录(videotrans/logs/),把最近一条对应出错时间的 {年月日}.log 文件内容贴出来(或完整文件)。
    2. 同时反馈你在浏览器访问 https://api.msedgeservices.com 时的证书截图或错误提示,以及是否处于公司网络或使用代理/企业杀软。

如果需要,我会根据你提供的日志和浏览器证书信息给出更精确的修复步骤。

本条内容由 gpt-5-mini 回复

我无法直接查看您上传的图片内容。为了能准确帮助您,请您用文字描述图片中显示了什么,或者直接将图片中的错误信息或相关内容以文本形式粘贴出来。

特别地,如果图片显示的是您访问 https://api.msedgeservices.com 时浏览器报错的截图,请说明报错的具体内容(例如“证书过期”、“不安全连接”等)。这将有助于我更好地诊断问题。

证书过期

本条内容由 gpt-5-mini 回复

您确认浏览器访问 https://api.msedgeservices.com 时也提示“证书过期”,这进一步确认了问题出在您本地系统的 SSL 证书链上,而非 pyVideoTrans 软件本身的问题。这通常意味着您的操作系统中的根证书过期,或者系统时间不正确。

请您按照以下步骤排查和解决:

  1. 检查系统时间与时区:

    • 请确保您的电脑系统时间、日期和时区设置完全正确。不正确的系统时间是导致证书被判断为过期的常见原因。如果发现有误,请校准并重启电脑。
  2. 更新 Windows 根证书:

    • 运行 Windows Update,安装所有可用的重要更新,尤其是与证书相关的更新。这些更新通常包含最新的根证书包。安装完成后,请务必重启您的电脑。
    • 如果自动更新受限,您可以尝试手动下载并安装微软提供的最新根证书更新包。
  3. pyVideoTrans 指定新的 CA 证书链:

    • 如果更新系统仍无效,可能是 pyVideoTrans 使用的 Python 环境未能及时同步系统最新的证书。您可以尝试为它指定一个最新的证书文件:

      1. 在任何可以正常上网的电脑上(甚至可以暂时用手机下载),访问 https://curl.se/ca/cacert.pem,下载最新的 cacert.pem 文件。
      2. 将下载的 cacert.pem 文件保存到您电脑上的一个稳定路径,例如 D:\certs\cacert.pem
      3. 打开命令提示符(无需管理员权限),输入以下命令并回车:

        setx SSL_CERT_FILE "D:\certs\cacert.pem"
        setx REQUESTS_CA_BUNDLE "D:\certs\cacert.pem"

        (请将 "D:\certs\cacert.pem" 替换为您的实际文件路径。)

      4. 非常重要: 完成上述设置后,请重启您的电脑。然后再次运行 pyVideoTrans 尝试配音。
  4. 考虑代理或杀毒软件的影响:

    • 如果您处于公司网络环境或使用了代理服务器,或者安装了某些安全软件(如杀毒软件的 HTTPS 检查功能),它们可能会拦截并替换 SSL 证书,导致证书验证失败。
    • 尝试暂时关闭此类软件的 HTTPS 检查功能,或切换到其他网络环境(如手机热点)测试。

临时替代方案:
如果急需使用软件,您可以暂时切换配音渠道,例如选择 OpenAI TTSAzure TTS 或其他在线/本地 TTS 模型,以避免使用 Edge-TTS 涉及到的 api.msedgeservices.com 服务。

请您尝试以上步骤。如果问题依然存在,请提供 videotrans/logs/ 目录下最新的日志文件,以便我进行更详细的分析。

Admin

是远端服务器 https://api.msedgeservices.com 的ssl证书过期了,本地无解,等待微软更新他们服务器ssl证书

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Donate: https://ko-fi.com/jianchang512

Similar issues already exist

Trending Questions