cross socket ssl动态库

cross socket ssl动态库

cross socket支持ssl需要动态库的支持,它的源码注释就说得很清楚。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
unit Net.OpenSSL;
 
{
  OpenSSL 下载:
  https://indy.fulgan.com/SSL/
  https://github.com/leenjewel/openssl_for_ios_and_android
 
  OpenSSL iOS静态库下载:
  https://indy.fulgan.com/SSL/OpenSSLStaticLibs.7z
 
  LibreSSL 下载:
  http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/
 
  Linux下需要安装libssl开发包
  sudo apt-get install libssl-dev
}
 
// 使用 LibreSSL
// LibreSSL 是 OpenSSL 的一个分支, 由 OpenBSD 维护, 接口与 OpenSSL 兼容
// 目前(2.4.2) 执行效率比 OpenSSL(1.0.2h) 低
{.$DEFINE __LIBRE_SSL__}
 
// iOS真机必须用openssl的静态库
{$IF defined(IOS) and defined(CPUARM)}
  {$DEFINE __SSL_STATIC__}
{$ENDIF}
 
interface
 
uses
  {$IFDEF MSWINDOWS}
  Winapi.Windows,
  {$ENDIF}
  {$IFDEF POSIX}
  Posix.Base, Posix.Pthread,
  {$ENDIF}
  System.SysUtils, System.SyncObjs;
 
const
  SSLEAY_DLL =
    {$IFDEF MSWINDOWS}
      {$IFDEF __LIBRE_SSL__}
        'libssl-39.dll'
      {$ELSE}
        'ssleay32.dll'
      {$ENDIF}
    {$ENDIF}
    {$IFDEF POSIX}
      {$IFDEF __SSL_STATIC__}
        'libssl.a'
      {$ELSEIF defined(MACOS)}
        'libssl.dylib'
      {$ELSE}
        'libssl.so'
      {$ENDIF}
    {$ENDIF};
 
  LIBEAY_DLL =
    {$IFDEF MSWINDOWS}
      {$IFDEF __LIBRE_SSL__}
        'libcrypto-38.dll'
      {$ELSE}
        'libeay32.dll'
      {$ENDIF}
    {$ENDIF}
    {$IFDEF POSIX}
      {$IFDEF __SSL_STATIC__}
        'libcrypto.a'
      {$ELSEIF defined(MACOS)}
        'libcrypto.dylib'
      {$ELSE}
        'libcrypto.so'
      {$ENDIF}
    {$ENDIF};

  

posted @   delphi中间件  阅读(253)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2019-11-01 微服务和事件驱动
2019-11-01 如何使用REDIS进行微服务间通讯
2015-11-01 DATASNAP中间件调用带OUTPUT参数的存储过程
点击右上角即可分享
微信分享提示