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開源。同時提供商業性的許可以及相應的
商業支援項目首頁