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

2024-03-18

Question

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

读过pkg 在 Windows 中从 forge 安装 http://octave.1599824.n4.nabble.com/pkg-install-from-forge-in-windows-td4680633.html,看起来 Octave 维护者已经意识到 Octave 4.0 的问题,但似乎没有可用的修复程序。

Issue

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

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

## 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证书。

尝试了如下系统。

#[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

相关信息

  • pkg 在 Windows 中从 forge 安装 http://octave.1599824.n4.nabble.com/pkg-install-from-forge-in-windows-td4680633.html
  • urlread()、urlwrite() 不适用于 Octave for Windows 中的 https 页面 https://stackoverflow.com/questions/26237960/urlread-urlwrite-dont-work-for-https-pages-in-octave-for-windows
  • windows libcurl - 无法使用给定的 ca 证书对对等证书进行身份验证 https://stackoverflow.com/questions/40752114/windows-libcurl-peer-certificate-cannot-be-authenticated-with-given-ca-certifi
  • Curl 中出现错误 - 无法使用已知的 CA 证书对对等证书进行身份验证 https://stackoverflow.com/questions/14682894/getting-error-in-curl-peer-certificate-cannot-be-authenticated-with-known-ca-c
  • SSL CA 证书 - LibCurl C 语言 (Linux) https://stackoverflow.com/questions/26719772/ssl-ca-certificates-libcurl-c-language-linux

环境

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

  1. 您收到“无法对对等证书进行身份验证”错误,因为您的 CA 存储不包含必要的 CA 证书。您可以获得更新的捆绑包从这里 https://curl.haxx.se/docs/caextract.html.
  2. 您尝试使用curl命令行工具不起作用的原因是您没有使用-L, --位置 https://curl.haxx.se/docs/manpage.html#-L告诉curl遵循重定向的选项,所以你刚刚得到了303响应http://packages.octave.org/list_packages.php返回。如果您使用 -L,您会发现它会将您重定向到 HTTPS:// URL 两次 - 只是为了让您被迫修复情况 (1)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 使用 CustomBinding 的 WCF 服务配置 HTTPS

    我需要 WCF 服务上的自定义绑定 以允许我将原始内容传递到 WCFRest 服务 效果很好 但我无法让它接受传输级安全性 我想要 https 和 basicauthentication 就像我在其他地方使用的那样 端点看起来像这样
  • https登录的安全性?

    我正在编写一个 Apple iOS 应用程序 用于登录帐户并获取一些余额 它使用纯 html 链接进行登录 用户名和密码在运行时动态加载到登录链接 我使用 Wireshark 嗅探了流量 但在发送的任何包中都找不到用户名或密码 我猜 htt
  • 在ActivePython-2.6中安装pyCurl?

    我过去曾使用过 pyCurl 并让它与我的系统默认 python 安装一起使用 但是 我有一个项目需要 python 更具可移植性 并且我正在使用 ActivePython 2 6 到目前为止 我安装任何其他模块都没有问题 但安装 pyCu
  • 有什么简单的方法可以完全忽略带有 java url 连接的 ssl ?

    我正在构建一个应用程序 定期检查一些 RSS 提要是否有新内容 其中一些提要只能通过 https 访问 有些具有自签名或以某种方式损坏的证书 我仍然希望能够检查它们 请注意 安全性在此应用程序中不是问题 目标是以最小的努力访问内容 我使用此
  • 当SESSION_COOKIE_SECURE = True时如何在HTTP中获取一些用户身份信息

    以下是我正在开发的网站的简短描述 公共页面可以通过 HTTP 或 HTTPS 访问 其他一些页面 认证页面 账户详情页面等 需要通过HTTPS访问 Apache2 负责进行相关的 HTTP 到 HTTPS 链接重定向 我使用标准 Djang
  • LibCurl SFTP 重命名文件

    解决了 经过更多转换后 通过使用 重命名 作为引用命令 它需要包含原始名称的完整路径和包含重命名目标的完整路径 在我其他失败的尝试中 我没有尝试过这条路 大家好 我尝试了所有不同的组合 但一直失败 不知道我错过了什么 我正在尝试使用 Lib
  • nginx - 使用 ssl 支持设置多个 server_name

    我很想使用 nginx 来为具有多个域名和 SSL 的网站提供服务 webmail example com webmail beispiel de 两者都使用相同的虚拟主机 因此我只设置 server name 两次 问题是 我需要 ngi
  • HTTPS 请求仅在 iOS、Ionic 2 上失败

    我有一个Ionic 2调用一个应用程序Spring Boot用于向其他设备发送推送通知的 API API 配置为 HTTPS The API POST请求适用于一切except iOS 我在服务器上的 SSL 证书是自签名的 也许就是这样
  • 尝试编译 git 但在 linux 中找不到 libcurl

    我想编译支持 http https 的 git 我有 ls usr include curl curlbuild h curl h curlrules h curlver h easy h mprintf h multi h stdchea
  • 我需要编写什么代码才能使用 HTTPS?

    在标准的 小册子 站点中 我有一个子系统 其中私人数据在一系列页面中来回传递 该网站已完成 现在可以在没有 HTTPS 的情况下运行 有人可以向我指出在网站的安全部分实施 HTTPS 所需执行的步骤列表吗 作为程序员 您唯一需要做的就是检查
  • 如何从内容处置中读取编码的文件名

    我得到的内容处置标头值如下 附件 文件名 UTF 8 album jpeg 如何从中提取文件名 album jpeg 在查看该值时 它具有编码格式值 使用Spring的内容配置 https docs spring io spring doc
  • 使用 Erlang 进行 https post 的简单示例

    我发现引用了一些使用 erlang 与 ssl 通过 rpc 和 http get 等的示例 但是我很难找到通过 erlang 将数据发布到 ssl 端点的示例 有人知道我缺少的一个简单例子吗 我想我明白了 我的论点是错误的 这就是我最终得
  • 将项目从 github 克隆到 RStudio 时出现错误消息“无法获取本地颁发者证书”

    我试图从 RStudio 克隆 github 的存储库 我已将 git 配置为版本控制可执行文件 我收到此错误消息 SSL 证书问题 无法获取本地颁发者证书 我需要做什么 Thanks 使用以下步骤 访问 github 站点 www git
  • 两个向量之间的欧氏距离(单行矩阵)

    我有两个向量 单行矩阵 假设我们已经知道长度len A x1 x2 x3 x4 x5 B y1 y2 y3 y4 y5 计算它们之间的欧几里德距离最快的方法是什么 我的第一次尝试是 diff A B sum 0 for column 1 l
  • 从curl获取(58)无法使用客户端证书(未找到密钥或密码短语错误?)

    我正在尝试对需要客户端证书的第三方 API 进行测试调用 我使用 openssl 命令生成了一个新证书 req new newkey rsa 2048 nodes out mycsr csr keyout mykey key 然后我向他们发
  • 避免 IE 中因背景图像而出现“混合内容”警告的具体规则是什么?

    这与SSL 和 CSS 背景图像导致的混合内容 https stackoverflow com questions 1548551 ssl and mixed content due to css background images但这个问
  • Nuxt.js 使用 https 调用服务器端 API 的问题

    当我使用 HTTP 时 我遇到 nuxt 服务器端 API 调用问题S 在客户端 一切都很好 当我通过链接在客户端切换页面时 API 可以工作 但是当我按下 Ctrl f5 并且数据将在服务器端预取时 实际上没有 API 调用 也没有提供数
  • 如何在 docker-compose 文件中引用 traefik v2 的自签名 SSL 证书?

    在 docker compose YAML 文件中引用 Tr fik v2 自签名证书的文档非常有限 您可以按照以下方法进行操作 让我们加密 https en wikipedia org wiki Let 27s Encrypt https
  • 使用 TortoiseGit 创建 git 克隆时出现 SSL 证书问题

    我想在 TortoiseGit 的帮助下克隆 git 存储库 但出现错误 错误 SSL 证书有问题 请验证 CA 证书是否正常 细节 错误 14090086 SSL 例程 SSL3 GET SERVER CERTIFICATE 访问时证书验
  • HTTP:为什么在 get 请求中发送用户名和密码是错误的?

    一般做法是 当您登录或执行其他需要您的用户名和密码的操作时 您将其发送到发布请求的正文中 此外 为了增加安全性 应使用 https 在 get 请求中 这些参数作为 URL 的一部分发送 但据我了解 在 https 中 正文和标头都是加密的

随机推荐