CyaSSL 轻量的 SSL 库 适合嵌入式环境 也可用于桌面或服务器环境

简介: CyaSSL 是一个适合嵌入式环境使用的 SSL 库。它使用 C 编写,轻量、可移植。对于嵌入式环境而言,它的大小、速度和特性都很有吸引力。当然,它也可以在桌面环境或服务器上使用。(尤其适合觉得 OpenSSL 不靠谱 的童鞋。)

CyaSSL 是一个适合嵌入式环境使用的 SSL 库。它使用 C 编写,轻量、可移植。对于嵌入式环境而言,它的大小、速度和特性都很有吸引力。当然,它也可以在桌面环境或服务器上使用。(尤其适合觉得 OpenSSL 不靠谱 的童鞋。)

image.png

特性

  • 支持 SSL 3.0、 TLS 1.0、1.1、1.2 和 DTLS 1.0、1.2
  • 大小为20-100kB(取决于操作系统和编译选项),是 OpenSSL 大小的 1/20
  • 内存需求:1-36kB (取决于 I/O buffer 大小,公钥算法和尺寸)
  • 比 OpenSSL 性能更佳
  • 简单的 API
  • OpenSSL 兼容层
  • 支持 OCSP 和 CRL
  • 支持以下哈希函数: MD2, MD4, MD5, SHA-1, SHA-2, SHA-256, SHA-384, SHA-512, BLAKE2b, RIPEMD-160
  • 支持以下Cipher:AES (CBC, CTR, GCM, CCM), Camellia, DES, 3DES, ARC4, RABBIT, HC-128
  • 公钥选项:RSA, DSS, DH, EDH, NTRU
  • 基于密码的密钥:HMAC, PBKDF2, PKCS#5
  • ECC 支持:ECDH-ECDSA, ECDHE-ECDSA, ECDH-RSA, ECDHE-RSA
  • RSA 密钥生成
  • 永久话会话和认证缓存
  • 支持zlib压缩
  • 支持 PEM、DER 认证
  • 基于 wolfCrypt 库开发
  • 支持 PKCS #7、PKCS #10、PKCS #8, #5, #12
  • 支持 TLS 扩展:SNI (Server Name Indication)、Maximum Fragment Length、 Truncated HMAC、 Supported Elliptic Curves
  • 认证管理
  • 支持硬件加密:Intel AES-NI、STM32F2/F4、Cavium
  • 支持 SSL Sniffer
  • 支持 IPv4 和 IPv6
  • 支持 yaSSL 嵌入式 Web 服务器
  • 支持 MySQL 集成
  • 支持 Lighttpd, GoAhead, Mongoose
  • stunnel 集成


兼容性

CyaSSL 使用 C 编写,可移植那性很好,在绝大多数操作系统上都能运行,已知兼容的系统有:

  • Win32/64,
  • Linux,
  • Mac OS X,
  • Solaris,
  • ThreadX,
  • VxWorks,
  • FreeBSD,
  • NetBSD,
  • OpenBSD, )
  • embedded Linux,
  • WinCE,
  • Haiku,
  • OpenWRT,
  • iPhone (iOS),
  • Android,
  • Nintendo Wii and Gamecube through DevKitPro,
  • QNX,
  • MontaVista,
  • OpenCL,
  • NonStop,
  • TRON/ITRON/µITRON,
  • Micrium's µC/OS,
  • FreeRTOS,
  • SafeRTOS,
  • Freescale MQX,
  • Nucleus,
  • TinyOS,
  • HP/UX,
  • ARC MQX


接口

CyaSSL 以 C 为主要接口,不过同样支持其他一些宿主语言,包括:

  • Java
  • PHP
  • Perl
  • Python


许可

CyaSSL 基于 GPLv2 开源。同时提供商业性的许可以及相应的商业支持


项目主页

相关文章
|
7天前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
Node.js 是一种高效的 JavaScript 运行环境,基于 Chrome V8 引擎,支持在服务器端运行 JavaScript 代码。本文介绍如何在阿里云上一键部署 Node.js 环境,无需繁琐配置,轻松上手。前提条件包括 ECS 实例运行中且操作系统为 CentOS、Ubuntu 等。功能特点为一键安装和稳定性好,支持常用 LTS 版本。安装步骤简单:登录阿里云控制台,选择扩展程序管理页面,安装 Node.js 扩展,选择实例和版本,等待创建完成并验证安装成功。通过阿里云的公共扩展,初学者和经验丰富的开发者都能快速进入开发状态,开启高效开发之旅。
|
9天前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
|
4月前
|
监控 安全 Linux
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第18天】在RHEL环境下部署Subversion服务器需依次完成安装Subversion、创建版本库、配置服务器、启动服务、客户端连接及备份维护等步骤。确保遵循安全最佳实践,保障数据安全。
156 1
|
4月前
|
SQL 机器学习/深度学习 分布式计算
大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
152 1
|
2月前
|
机器学习/深度学习 JavaScript Cloud Native
Node.js作为一种快速、可扩展的服务器端运行时环境
Node.js作为一种快速、可扩展的服务器端运行时环境
62 8
|
3月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
107 4
|
4月前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
102 1
|
4月前
|
网络协议 Unix Linux
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
124 4
|
4月前
|
安全 Linux 数据安全/隐私保护
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第17天】在RHEL环境下部署Subversion服务器包括安装Subversion、创建和配置版本库、启动服务器、客户端连接以及备份与恢复等步骤。通过这些步骤,可确保服务器的安全性和稳定性,满足版本控制需求。
|
4月前
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
122 2