zig-utils/zig-tls
GitHub: zig-utils/zig-tls
纯 Zig 实现的 TLS 1.3 库,用于构建安全的 SMTP 和其他协议服务。
Stars: 2 | Forks: 1
# zig-tls
纯 Zig TLS 1.3 实现,适用于 SMTP 和其他协议。
## 功能
- 支持 TLS 1.3 客户端和服务器
- 纯 Zig 实现(无 C 依赖)
- 非阻塞 I/O
- 支持协议升级的 STARTTLS
- 证书和私钥管理
## 安装
将以下内容添加到您的 `build.zig.zon` 文件中:
```
.dependencies = .{
.tls = .{
.path = "../zig-tls",
},
},
```
将以下内容添加到您的 `build.zig` 文件中:
```
const tls = b.dependency("tls", .{
.target = target,
.optimize = optimize,
});
exe.root_module.addImport("tls", tls.module("tls"));
```
## 使用
### 服务器示例
```
const tls = @import("tls");
// Load certificate and key
var cert_key = try tls.config.CertKeyPair.fromFilePathAbsolute(
allocator,
"/path/to/cert.pem",
"/path/to/key.pem",
);
defer cert_key.deinit(allocator);
// Create TLS connection from stream
const tls_conn = try tls.serverFromStream(stream, .{
.auth = &cert_key,
});
// Read/write through TLS
const n = try tls_conn.read(buffer);
try tls_conn.write(data);
```
## 许可证
MIT - 基于
标签:DNS解析, MIT 许可, SMTP 协议, STARTTLS, TLS 1.3, Zig 语言, 加密通信, 子域名枚举, 安全协议, 开源项目, 数据管道, 私钥管理, 系统安全, 纯 Zig 实现, 网络编程, 证书管理, 软件工程, 非阻塞 I/O