登录 注册
电商与营销工具网络与基础设施开发者工具
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>

![GitHub Actions status](https://github.com/haskell-tls/hs-tls/workflows/Haskell%20CI/badge.svg)

# 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 为准(涉及依赖安装与环境配置,对新手门槛较高)。