Delphi解决 openssl DLL 与 Indy 的SSL/TLS 连接问题

这篇具有很好参考价值的文章主要介绍了Delphi解决 openssl DLL 与 Indy 的SSL/TLS 连接问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

昨天,突然间,我的一个 Delphi 程序无法连接到互联网上的各种WMS服务器。我收到以下错误消息:

使用 SSL 连接时出错。错误 1409442E:SSL 例程:ssl3_read_bytes:tlsv1 警报协议版本

由于我使用的是最新版本的Indy,根据Delphi Praxis 上的此线程,这种情况不应该发生。事实证明,不知何故,一个非常旧版本的 openssl DLL libeay32.dllssleay32.dll已被放置在我计算机上的 sarch 路径中(版本 1.0.0e)。获取托管在GitHub或indy.fulgan.com上的最新版本并将它们放入我的程序Z-Gantt时间管理进度计划甘特图软件的可执行目录中解决了这个问题。

好吧,那么我是怎么发现情况是这样的(除了谷歌搜索猜测之外)?

IdSSLOpenSSL 单元中有一个函数 OpenSSLVersion,它返回 OpenSSL dll 的版本。在撰写本文时,该名称应以“OpenSSL 1.0.2u”开头。

还可以使用两个 DLL 的句柄调用 GetModuleName(分别通过函数 GetSSLLibHandle 和 GetCryptLibHandle 获得),为您提供实际加载的 DLL 的完整路径。当然,要使其工作,DLL 必须已加载,但调用 OpenSSLVersion 可以为您完成此操作。

OpenSslVer := IdSSLOpenSSL.OpenSSLVersion;
OpenSslLibName := GetModuleName(GetSSLLibHandle);
OpenSslCryptLibName := GetModuleName(GetCryptLibHandle);

我希望这对其他人有用,因为我花了一段时间才弄清楚如何获取这些信息。

@Remy Lebeau:非常感谢您已经投入并仍在投入这个库的所有工作。文章来源地址https://www.toymoban.com/news/detail-717440.html

到了这里,关于Delphi解决 openssl DLL 与 Indy 的SSL/TLS 连接问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SSL/TLS 介绍以及如何利用openssl生成证书

    SSL:Secure Socket Layer 安全套接字层。 TLS:Transport layer Security 传输层安全性,是一种加密协议。 到2020年,SSL以及TLS1.0,TLS1.1已被弃用 Authentication:通信双方可以确认双方的身份,不被黑客拦截信息伪造身份。 Confidentiality:通信的内容经过加密,更加安全,不被授权的用户无法识别

    2024年02月04日
    浏览(46)
  • 解决 pip 安装时的 SSL/TLS 问题

    在使用pip安装Python软件包时,有时会遇到与 SSL/TLS 相关的问题。一种常见情况是在使用VPN时出现以下错误信息 ValueError: check_hostname requires server_hostname : 为了解决这个问题,可以尝试通过在pip install命令中添加--trusted-host选项来临时绕过SSL/TLS证书验证,另外的方法就是关闭代

    2024年02月04日
    浏览(44)
  • C#调用webapi HTTPS报错:基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系--安全证书问题

    1、首先加入命名空间: using System.Net.Security; using System.Security.Authentication; using System.Security.Cryptography.X509Certificates; SSL网站,连接时需要提供证书,对于非必须提供客户端证书的情况,只要返回一个安全确认即可。我的是.NET FrameWork4.0 2、加入以下代码: 3、接收证书进行身份验

    2024年02月13日
    浏览(42)
  • HttpCannary根证书未安装,无法抓取SSL,TLS加密数据包问题解决方法

    解决HttpCannary根证书未安装,无法抓取SSL/TLS加密数据包的问题 目前我使用的版本信息如下: MIUI 13,Android 12 HttpCanary v3.3.6,Plugin-SDK v1.0.0 可以在【设置】-抓包设置里的【HttpCanary根证书】中查到目前是没有导入跟证书的,有很多包抓不到。 这个问题可以利用手机的备份恢复机

    2024年02月05日
    浏览(51)
  • HttpCannary根证书未安装,无法抓取SSL/TLS加密数据包问题解决方法(无需ROOT权限)

    解决HttpCannary根证书未安装,无法抓取SSL/TLS加密数据包的问题 目前我使用的版本信息如下: Redmi K40 Pro,MIUI 13,Android 12 HttpCanary v3.3.6,Plugin-SDK v1.0.0 可以在【设置】-抓包设置里的【HttpCanary根证书】中查到目前是没有导入跟证书的,有很多包抓不到。 这个问题可以利用手机

    2024年02月02日
    浏览(38)
  • SSL/TLS协议中的Diffie-Hellman公共密钥过弱问题及解决方案

    SSL/TLS协议使用Diffie-Hellman协议作为安全通信协议,以确保双方交换的密钥是安全的。然而,在实际使用中,Diffie-Hellman公共密钥存在一些弱点,会对通信安全造成潜在的威胁。本文将深入剖析这一问题的原理和解决方案,并分享一些实践经验。 一、引言 SSL/TLS协议是一种基于

    2024年02月16日
    浏览(45)
  • 解决OpenSSL SSL_read: Connection was reset, errno 10054问题

    drawio 是免费的画图神器,因而,今天尝试从 github 上下载 drawio ,如下图所示: 复制下载地址到 git bash 中,却报出如下错误: 即 fatal: unable to access \\\'https://github.com/jgraph/drawio-desktop.git/\\\': OpenSSL SSL_read: Connection was reset, errno 10054 2. 分析问题 将OpenSSL SSL_read: Connection was reset, errno

    2024年02月07日
    浏览(48)
  • EMQX启用双向SSL/TLS安全连接以及java连接

    作为基于现代密码学公钥算法的安全协议,TLS/SSL 能在计算机通讯网络上保证传输安全,EMQX 内置对 TLS/SSL 的支持,包括支持单/双向认证、X.509 证书、负载均衡 SSL 等多种安全认证。你可以为 EMQX 支持的所有协议启用 SSL/TLS,也可以将 EMQX 提供的 HTTP API 配置为使用 TLS。 强认证

    2024年02月11日
    浏览(30)
  • 【项目问题解决】OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to git.xxxx.com:443

    目录 文章所属专区 项目问题解决 OpenSSL的SSL_connect函数是用于在SSL/TLS协议中建立客户端与服务器之间安全连接的函数3。它的函数原型是int SSL_connect(SSL *ssl)。调用SSL_connect函数可以触发SSL密钥协商的流程,确保通信的安全性1。 在使用SSL_connect函数之前,需要先设置好通信通道

    2024年02月05日
    浏览(61)
  • QT SSL handshake failed问题分析与解决 QT基础入门【网络编程】openssl

    问题: 使用https方式进行post 和get请求时,有时候会出现SSL handshake failed的问题,其实是调用 Qt QNetworkAccessManager 出现的问题。 其实SSL握手是建立HTTPS连接过程的第一步。为了验证和建立连接,用户的浏览器和网站的服务器必须经过一系列检查(握手),从而建立HTTPS连接参数

    2024年02月12日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包