delphi cross socket ssl动态库  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi cross socket ssl动态库


cross socket ssl动态库

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

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};
  

本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/16846532.html


推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.059089183807373 seconds