hs-tls
415
Stars
112
Forks
15
Watchers
2
Open Issues
NOASSERTION
许可证
Haskell
语言
2010-09-09
创建时间
2026-11-06
最近更新
项目能做什么
hs-tls 是纯 Haskell 实现的 TLS/SSL 协议库。它为 Haskell 开发者提供了安全通信支持,核心功能包括:实现 TLS 1.2/1.3 客户端与服务端、默认启用 AEAD 加密、内存会话与票据管理,以及支持加密客户端问候(ECH)配置。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
<p align="center"> <img src="docs/images/hs-tls.svg" alt="hs-tls" height="160"> </p>  # Haskell TLS * `tls` :: library for TLS 1.2/1.3 server and client purely in Haskell * `tls-session-manager` :: library for in-memory session DB and session ticket. * `ech-config` :: library for the configuration of Encrypted Client Hello, to glue DNS and TLS. For the `tls-client` and `tls-server` commands, see [tls/USAGE.md](tls/USAGE.md). ## Security This section says what `tls` protects by default, what it does not promise, and what is left to the application. The library has not been audited by a third party. ### Defaults * Only TLS 1.3 and TLS 1.2 are negotiated. TLS 1.1 and earlier are not supported. * The default cipher suites (`ciphersuite_default`) are AEAD only. CBC suites are available from `Network.TLS.Extra.CipherCBC` and must be enabled explicitly. * TLS 1.2 requires the Extended Main Secret (RFC 7627). * Secure renegotiation (RFC 5746) is on, and renegotiation initiated by a client is refused. * 0-RTT is off on both sides. * The key exchange groups include the hybrid X25519MLKEM768. * The number of consecutive KeyUpdate messages a peer may send is limited. ### Certificates * A client validates the server's certificate chain and host name with `crypton-x509-validation` and the system certificate store (`validateDefault`). * Revocation is not checked: neither OCSP nor CRLs are used. Short-lived certificates are the intended answer to revocation. ### Side channels * The cryptographic primitives come from `crypton`, which implements them in constant time. * The record layer compares MACs in constant time and pads the MAC computation of CBC records against Lucky Thirteen. * The Haskell code in `tls`, such as the record layer, runs with garbage collection and lazy evaluation and cannot be guaranteed to run in constant time. This is one reason why CBC is off by default. ### Testing * Unit and property tests, including tests that modify records on the wire. * [tlsfuzzer](https://github.com/tlsfuzzer/tlsfuzzer) is run against `tls-server` every week. * The channel bindings are checked against OpenSSL in CI. ECH has been tested with DEfO OpenSSL, picotls, BoringSSL and NSS. ### Left to the application * 0-RTT data can be replayed. A server that accepts it must make sure the data is safe to process twice. The server asks the session manager to resume a ticket only once for 0-RTT, which `tls-session-manager` does. * Enabling CBC suites, or replacing `onServerCertificate` with a weaker check, gives up the protections above. * After session resumption, the client certificate is not available ([#600](https://github.com/haskell-tls/hs-tls/issues/600)).阅读完整原文
项目深度分析 AI 生成
Haskell 协议安全审计与合规咨询服务
| 产品构想 | 针对在生产环境中采用 hs-tls 的金融、加密货币及关键通信基础设施团队,提供基于 Haskell 协议栈的深度安全审计、配置加固与代码审查服务。 |
| 核心功能 | 协议漏洞排查、侧信道分析评估、tlsfuzzer 专项测试、证书吊销/校验逻辑加固方案设计。 |
| 目标用户 | 采用 Haskell 构建交易所、节点网络或私密通信系统的企业安全团队。 |
| 难度/周期 | 高 · 2 - 4 个月 · 成本:极高(需具备资深密码学与 Haskell 逆向/内存模型专家能力) |
| 收费模式 | 按单次审计项目收费或按年收取安全咨询顾问费。 |
| 竞争风险 | hs-tls 社区规模有限,纯 Haskell 生产用户基数小,获客难度大且责任风险高。 |
| 依据 | 已验证事实 |
后量子密码(PQC)与企业级 ECH 增强商业发行版
| 产品构想 | 基于项目现有的 X25519MLKEM768 与 ECH 特性,封装开箱即用的高安全级别企业级通信套件,提供专属运维支持与补丁保障。 |
| 核心功能 | 混合后量子算法开箱即用支持、自动化 ECH DNS 联动配置管理工具、企业级 CRL/OCSP 证书吊销检查增强模块。 |
| 目标用户 | 有抗量子密码迁移需求(如合规要求高的政府或金融项目)以及对流量元数据隐藏有严苛要求的场景。 |
| 难度/周期 | 中等 · 1 - 3 个月 · 成本:中等(密码学工程化与测试环境搭建) |
| 收费模式 | 企业授权许可费(Dual-License 或商业附加组件)及年度技术支持订阅费。 |
| 竞争风险 | 后量子密码算法标准尚在逐步落地,企业采购周期较长。 |
| 依据 | AI推测 |
高性能 Haskell 网络协议网关二次开发与定制支持
| 产品构想 | 结合 hs-tls 与 Warp/Network 协议栈,为特定硬件或网络架构定制高并发、无 OpenSSL 依赖的边界反向代理与 TLS 终止网关。 |
| 核心功能 | 定制 TLS 会话复用管理(优化 tls-session-manager)、内存占用调优、专属私钥保护(如 HSM/PKCS#11 接口适配)。 |
| 目标用户 | 追求精简运行环境、剔除 C 库依赖以减少攻击面的嵌入式设备或高安全容器化基础设施团队。 |
| 难度/周期 | 高 · 3 - 6 个月 · 成本:中等(主要是开发与硬件对接工时) |
| 收费模式 | 定制开发合同费用 + 长期系统维保支持费。 |
| 竞争风险 | Rust/Go 编写的无 C 依赖 TLS 方案竞争激烈,Haskell 方案缺乏生态优势。 |
| 依据 | 尚需验证的假设 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
相似项目数据正在完善中,暂不展示(避免误导)
项目优势与风险
| 技术成熟度 | 创建于 2010-09-09,近 30 天仍在推送 |
| 社区活跃 | Star 415 / Fork 112 / Issue 2(数据支持,可自行核实) |
| 许可证 | NOASSERTION |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。