April 25,2007
Small TLS client library
愈來愈多的網路程式需要TLS的功能. 例如你要開發一個無線網路電話, 你就可能同時實作以下功能, 它們都需要TLS client的支援
- SIP over TLS
- WPA-EAP (用EAP-TLS, EAP-TTLS 連到FreeRadius Server)
- HTTPS web server
- SNMPv3
- Autoprovision client
- WISPr
而大多數Open source實作TLS時都只支援openssl. 問題是openssl對Embedded system來說實在是太大了.
於是我找遍了各種不用的方案. 以下全都是號稱50KB左右的TLS library. 這裡列出來供各位參考.
Mocana Embedded SSL Client / TLS Client
要錢, 算了吧.
SSL/TLS Client librray
AES-128, AES-256, ARC4-128, DES, 3DES,
MD2, MD4, MD5, SHA1, SHA-224, SHA-256, SHA-384, SHA-512
Diffie-Hellman, RSA, PKCS #1, #1.5, #5, #7, #8, #10, #12, X.509
YaSSL
GPL/Commercial dual license
SSLv3/TLSv1/TLSv1.1 client/server library
DES, 3DES, AES, ARC4, TWOFISH, BLOWFISH
MD2, MD4, MD5, SHA-1, RIPEMD, HMAC,
RSA, DSS, DH, PKCS#5 PBKDF2
OpenSSL compatibile layer
我測試過他比較大, 大約800KB左右. 但重點是他support OpenSSL compatibile layer. Porting比較快
MatrixSSL
GPL/Commercial dual license
SSL/TLS client/server library
RC4, DES, AES128(Commericial)
MD5, SHA,
ASN.1, X509, PKCS#1.5, PKCS#5,
AxTLS
LGPL license,
TLSv1 client/server library
RC4, AES128, AES256
MD5, SHA
RSA, ASN.1, X509v1, PKCS#8, PKCS#12
功能OK. 但原來版本不支援Non-blocking mode. x509沒有支援 v3
TLS client in WPA supplicant
BSD/GPL license
TLSv1 client library
RC4, DES, AES128, AES256
MD4, MD5, SHA
RSA, ASN.1, PKCS #1, X.509v3
沒錯. 這是著名的wpa_supplicant中的一個副函式庫. 他雖然只有TLS client. 但最重要是他BSD license的使用條款. 實在是最合我意了.
引用URL

請問每一種tls lib提供的 cryptographic method 種類上都有差異 如有些有 md5 有些沒有
這種差異會影響到如 EAP/TLS TTLS 的認證過程嗎 ?
如果我只要使用到 eap /tls ttls
我想把 openssl減肥 我能把那些 encryption method 移走呢?