首页 > 其他分享 >cross socket ssl动态库

cross socket ssl动态库

时间:2022-11-01 08:46:41浏览次数:104  
标签:__ socket SSL ENDIF cross OpenSSL ssl IFDEF libssl

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

  

标签:__,socket,SSL,ENDIF,cross,OpenSSL,ssl,IFDEF,libssl
From: https://www.cnblogs.com/hnxxcxg/p/16846532.html

相关文章

  • JS逆向-521加速乐+SSl验证
    当我们在采集数据时遇到SSLError验证时,出现以下这种情况。此时我们需要选取加密算法,更改适配器,修改加密算法构造一个适配器后,在request请求中,初始化一个session,将适配器绑......
  • 《安全编程技术》实验三 socket安全编程
    一、实验目的与要求:(一)实验目的该实验为设计性实验,实验目的如下:了解本地计算机的网络配置。熟悉面向对象编程/C编程环境,能够编写简单程序。熟练网络查阅源代码资源并......
  • Qt on Android 开发之 添加SSL、应用签名、解决“No CPU/ABI system image available
    目录​​一、Qt如何给Android添加SSL库​​​​1、简述​​​​2、步骤​​​​二、Android应用签名问题​​​​1、签名原因​​​​2、签名作用​​​​3、如何添加签名​......
  • 【SSL 1458】zzzyyds(DP)
    zzzyyds题目链接:SSL1458题目大意有一个环,一开始全白,每次随机选一个点染黑,如果存在一个白色点两边都是黑色点那它会变成黑色,然后每次染了之后判定白色的数量,如果小于等......
  • sql server cross/outer apply 用法
    这是sqlserver帮助文档关于apply的描述:     使用APPLY运算符(2005或以上版本)可以为实现查询操作的外部表表达式返回的每个行调用表值函数。表值函数作为右输......
  • 1035.uncrossed-lines 不相交的线
    问题描述1035.不相交的线解题思路只是1143.最长公共子序列的另一种描述代码#include<vector>usingstd::vector;classSolution{public:intmaxUncrossed......
  • C#-socket通信实例
    使用socket写一个通信demopublicpartialclassForm1:Form{SocketsocketServer;IPEndPointipe=newIPEndPoint(IPAddress.Parse("127.0......
  • pip安装模块出现pip is configured with locations that require TLS/SSL问题
    pip安装模块出现pipisconfiguredwithlocationsthatrequireTLS/SSL问题原因有可能你的python解释器是编译安装的,因为编译安装比较纯净,在安装的时候没有指定ssl这个......
  • socket编程的常见问题
    英文小册原文地址:​​beej.us/guide/bgnet…​​作者:Beej中文翻译地址:​​www.chanmufeng.com/posts/netwo…​​1.我从哪获取这些头文件资料?如果你的系统中没有自带这些文......
  • python 与C++ 利用socket实现json数据传输
    单机python与C++程序利用socket实现json数据传输目录单机python与C++程序利用socket实现json数据传输需求实现方法的选择具体实现流程图示涉及到的技术1socket......