ssl和tls的纯python实现。
tlslite-ng的Python项目详细描述
tlslite ng是sslv3.0、tls 1.0、tls1.1和 TLS 1.2协议。
它可以使用pycrypto、m2crypto和gmp来加速加密 但并不依赖于它们。
- 实现的功能包括:
- 所有上述协议,包括对客户端证书的支持 (RFC 6101、RFC 2246、RFC 4346、RFC 5246)
- RC4,3DES-CBC,AES-CBC,AES-GCM和chacha20密码(RFC 5246,RFC 6347, RFC 4492、RFC 5288、RFC 5289、RFC 7539、RFC 7905)
- MD5、SHA1、SHA256和SHA384 HMAC以及AEAD操作模式 GCM或Poly1305验证器
- RSA、DHE_RSA和ECDHE_RSA密钥交换
- 全套签名哈希(MD5、SHA1、SHA224、SHA256、SHA384、SHA512, rsa_pss_sha256、rsa_pss_sha384和rsa_pss_sha512)用于服务器密钥交换 在TLS v1.2中进行认证
- secp256r1、secp384r1、secp521r1、secp256k1、secp224r1和secp192r1曲线 对于ECDHE_RSA密钥交换(对最后两个密钥交换的支持取决于版本 使用的ecdsa库的数量)
- ECDHE_RSA密钥交换的X25519和X448曲线(RFC 7748。RFC 4492之二)
- 匿名DHE密钥交换
- 匿名ECDH密钥交换
- 空加密密码套件
- 备用SCSV(RFC 7507)
- 然后加密CBC密码套件的MAC操作模式(RFC 7366)
- 钉固证书
- SRP_u sha_u rsa和SRP_u sha ciphersuites(RFC 5054)
- TLS连接的扩展主密钥计算(RFC 7627)
- 填充扩展(RFC 7685)
- 键控材料出口商(RFC 5705)
- 下一个协议协商
- 应用层协议协商扩展(RFC7301)
- FFDHE主/组协商(RFC 7919)
tlslite ng旨在取代tlslite,同时提供更多 全套功能和更安全的诽谤。