OpenSSL

属性说明
功能全功能 TLS/SSL + 密码学工具包
许可证Apache 2.0 (3.x 起)
仓库https://www.openssl.org/

核心能力

模块说明
libsslTLS/SSL 协议(1.0–1.3),X.509 证书管理
libcrypto密码学原语:AES, RSA, ECC, SHA-256/512, HMAC, HKDF 等
命令行工具openssl 用于密钥生成、证书签发、测试

典型 TLS 客户端

SSL_CTX *ctx = SSL_CTX_new(TLS_client_method());
SSL *ssl = SSL_new(ctx);
SSL_set_fd(ssl, sockfd);
SSL_connect(ssl);
SSL_write(ssl, "GET / HTTP/1.0\r\n\r\n", 18);

现状:全球部署最广的密码学库。API 复杂且历史悠久,易误用。3.x 版大幅改进,但学习曲线依然陡峭。绝大多数服务器端 TLS 实现都依赖 OpenSSL 或其 fork(BoringSSL、LibreSSL)。

跨语言参考: C标准库深度剖析