关于OpenSSL里libssl32.dll与ssleay32.dll的区别

关于OpenSSL里libssl32.dll与ssleay32.dll的区别

作者: lizongbo 发表于:1:12 下午. 星期五, 10月 26th, 2007
版权声明:可以任意转载,转载时请务必以超链接形式标明文章 和作者信息及 本版权声明

现在很多程序都提供了ssl功能,但是在安装程序中并未自带OpenSSL组件,需要额外下载,因此选择不同版本OpenSSL的时候,可能会遇到如下的错误信息:

—————————
curl.exe - 无法找到组件
—————————
没有找到 libssl32.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。
—————————
确定
—————————

或者:

—————————
lighttpd.exe - 无法找到组件
—————————
没有找到 SSLEAY32.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。
—————————
确定
—————————

网上相关的问题有:
http://curl.haxx.se/mail/archive-2002-09/0063.html

libssl32.dllssleay32.dll的实际内容是没有任何区别,只是openssl在版本升级之后,
将在win32平台上编译生成的文件名libssl32.dll修改成了ssleay32.dll,libeay32.dll的名字则没改变.
(OpenSSL的changelog里并没有提到文件名变化的问题,参见: http://www.--escaped_anchor:50fe2dfc15a50670285e5a19657fe3b0--.org/news/changelog.html )
而很多依赖openssl的程序里,在加载OpenSSL的dll时,使用了固定的文件名字.只加载libssl32.dll或者ssleay32.dll,
因此在找不到文件的时候不会尝试另外一个文件名,就直接提示出错信息.

解决的办法也很简单,就是根据程序需要调用的dll名字,将libssl32.dll修改成ssleay32.dll,或者将ssleay32.dll修改成libssl32.dll.

对于开发者来说,为了让使用者少走弯路,在加载dll的时候,代码可以改成下面这个样子:
(参考这里的讨论: http://forums.miranda-im.org/showthread.php?t=4545)
if (( hLibSSL = LoadLibrary( “SSLEAY32.DLL” )) == NULL ) {
if (( hLibSSL = LoadLibrary( “LIBSSL32.DLL” )) == NULL ) { //the oldname

MSN_ShowError( “Valid %s must be installed to perform the SSL login”, “SSLEAY32.DLL” );
return 1;
}       } }

OpenSSL当前最新版本为OpenSSL 0.9.8g ,也就是OpenSSL 0.9.8.7 ,
编译好的 dll文件可以在这里下载
http://www.apachelounge.com/download/binaries/OpenSSL_0.9.8g.zip
来源: http://www.apachelounge.com/download/

如果只想下载就使用,懒得重命名的话:
可以直接下载我放在服务器上的文件:
(libssl32.dllssleay32.dll是一样的)
http://618119.com/--escaped_anchor:5e81b97d5483ae9cc4d410a319552617--/libeay32.dll
http://618119.com/--escaped_anchor:5e81b97d5483ae9cc4d410a319552617--/libssl32.dll
http://618119.com/--escaped_anchor:5e81b97d5483ae9cc4d410a319552617--/ssleay32.dll

除了将OpenSSL的dll加载的方式来使用OpenSSL,也可以采取直接编译进程序的方法来使用OpenSSL,比如
Tomcat的APR组件,就是将APR和OpenSSL直接编译进来,使用非常方便:
参考: http://tomcat.apache.org/tomcat-6.0-doc/apr.html

Tags: libssl32.dll, openssl, ssleay32.dll, win32
### 回答1: libeay32.dll ssleay32.dll.rar 是什么文件? libeay32.dllssleay32.dllOpenSSL 加密库的动态链接库文件。OpenSSL 是一个开源的加密工具库,提供了各种加密算法和安全协议的实现,用于网络通讯中的加密和解密操作。libeay32.dllssleay32.dll 这两个文件是 OpenSSL 的核心组件,提供了 OpenSSL 功能的支持。 .rar 是一种常见的压缩文件格式,用于将多个文件压缩成一个文件。libeay32.dll ssleay32.dll.rar 是 libeay32.dllssleay32.dll 这两个文件经过压缩处理后的文件。 这两个 dll 文件是 Windows 系统中的动态链接库文件,用于存储可被许多程序共享使用的代码和函数。它们通常用于支持应用程序在运行时调用 OpenSSL 函数,进行加密、解密、证书操作等。如果你需要使用某个需要这些 dll 文件的程序,你可以下载这个压缩文件,并解压之后将 dll 文件放置到相应的程序目录中。 但需要提醒的是,在下载和使用这些 dll 文件时,你应该谨慎选择可靠的来源,以确保文件的安全性和完整性。此外,要根据你的操作系统和程序需求选择合适的版本,以防止出现兼容性问题。最好的做法是从官方网站或知名的软件下载站点获取这些文件。 ### 回答2: libeay32.dll ssleay32.dll.rar 是一个压缩文件,面包含了两个重要的动态链接库文件 libeay32.dllssleay32.dll。这两个文件是OpenSSL软件包中的组件,用于支持加密和解密通信的功能。 libeay32.dllOpenSSL库的核心部分,它提供了多种加密算法和安全功能的实现,包括对称加密、非对称加密、散列算法、数字签名等。ssleay32.dll 是基于libeay32.dll之上构建的SSL/TLS协议库,用于实现安全的网络通信。 这两个文件的.rar扩展名表示它们被压缩成了RAR格式的压缩文件。RAR是一种常用的压缩文件格式,可以有效地减小文件大小,并提供了加密和密码保护的功能。 如果你需要使用libeay32.dllssleay32.dll 文件,首先需要解压RAR文件。你可以使用压缩软件(如WinRAR、7-Zip等)来解压缩RAR文件,然后得到这两个DLL文件。接下来,你可以将这两个文件复制到你的计算机的系统文件夹(通常是C:\Windows\System32目录下),或者将其放置到你需要使用它们的程序所在的文件夹中。 请注意,这两个DLL文件的使用需要遵循相关的许可协议,并确保你从可信的来源获取这些文件,以免遭受恶意软件的危害。如果你不确定如何正确使用这两个文件,建议向相关领域的专业人士寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值