CyaSSL 是一个适合嵌入式环境使用的 SSL 库。它使用 C 编写,轻量、可移植。对于嵌入式环境而言,它的大小、速度和特性都很有吸引力。当然,它也可以在桌面环境或服务器上使用。(尤其适合觉得 OpenSSL 不靠谱 的童鞋。)
特性
- 支持 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 开源。同时提供商业性的许可以及相应的商业支持
项目主页
编撰 SegmentFault
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。