gpt4 book ai didi

https - 修复了 Octave urlread 导致无法使用给定 CA 证书对对等证书进行身份验证的问题

转载 作者:行者123 更新时间:2023-12-01 19:36:59 25 4
gpt4 key购买 nike

问题

如何修复(不是解决方法)Octave(假设与 Octave 捆绑的 libcurl)urlread 导致无法使用给定的 CA 证书对对等证书进行身份验证

已阅读 pkg install from forge in windows ,看起来 Octave 维护者已经意识到 Octave 4.0 的问题,但似乎没有可用的修复程序。

问题

看起来 Windows 上 Octave 的 urlread 不适用于 HTTPS,因为诸如 https://octave.sourceforge.io 的服务器证书无法使用 urlread(似乎调用curl)引用的受信任证书进行身份验证。

例如,尝试运行pkg install -forge时,share\octave\4.2.0\m\pkg\private\get_forge_pkg.m 第 64 行会导致问题 安装软件包。

## Try get the list of all packages.
[html, succ] = urlread ("http://packages.octave.org/list_packages.php");
if (! succ)
error ("get_forge_pkg: could not read URL, please verify internet connection");
endif

从命令窗口运行 urlread 显示以下错误。

>> [html, status, msg] = urlread ("http://packages.octave.org/list_packages.php");
>> msg
msg = Peer certificate cannot be authenticated with given CA certificates

尝试通过 HTTPS 访问 google.com,结果相同。

>> [html, status, msg] = urlread ("https://google.com");
>> msg
msg = Peer certificate cannot be authenticated with given CA certificates

IE 和 Google Chrome 根证书可以验证 sourceforge 证书。

enter image description here

enter image description here

尝试了如下系统。

#[html, succ] = urlread ("http://packages.octave.org/list_packages.php");
sURLLink="https://octave.sourceforge.io/list_packages.php"
command=['curl --insecure ','"',sURLLink,'"'];
[succ, html] = system(command)
#if (! succ)
if (succ != 0)
error ("get_forge_pkg: could not read URL, please verify internet connection");
endif

但是它导致了另一个错误。

>> pkg install -forge symbolic
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 559 100 559 0 0 389 0 0:00:01 0:00:01 --:--:-- 393
sURLLink = https://octave.sourceforge.io/list_packages.php
succ = 0
html = bim
bsltl
cgi
....

error: get_forge_pkg: package NAME exists, but index page not available
error: called from
get_forge_pkg at line 74 column 7
get_forge_download at line 26 column 12
pkg at line 382 column 29

相关信息

环境

  1. Windows 7 Enterprise 64 位版本 6.1.7601 Service Pack 1 Build 7601 上的 Octave-4.2.0-w64
  2. Windows 10 专业版 64 位版本 10.0.14393 内部版本 14393 上的 Octave 4.0.3

最佳答案

  1. 您收到“无法对对等证书进行身份验证”错误,因为您的 CA 存储区不包含必要的 CA 证书。您可以获得更新的 bundle from here .
  2. 您尝试使用curl命令行工具不起作用的原因是您没有使用-L, --location告诉curl遵循重定向的选项,因此您刚刚收到http://packages.octave.org/list_packages.php返回的303响应。如果您使用 -L,您会发现它会将您重定向到 HTTPS://URL 两次 - 只是为了让您被迫修复情况 (1)。

关于https - 修复了 Octave urlread 导致无法使用给定 CA 证书对对等证书进行身份验证的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41687341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com