DAT Go 库
GitHub pkg.go.dev安装
bash
快速开始
此完整流程从 CMS 获取证书,创建包含 JSON 数据的 DAT,并进行验证。
go
分步说明
1. 连接 CMS
签发服务使用完整证书令牌。启动时立即同步,可防止在证书可用前签发。
go
2. 签发 DAT
此示例将公开 JSON 放入 plain,将受保护的用户信息作为 JSON 放入 secure。
go
3. 验证 DAT
parse 检查有效期和签名,然后解密 secure。只使用验证成功后返回的载荷。
go
关键函数
| 函数 | 用途 |
|---|---|
Sync() | 立即同步证书。 |
Issue(plain, secure) | 返回 DAT 字符串和错误。 |
Parse(dat) | 返回已验证 Payload 和错误。 |
LastError() | 返回最后一个同步错误。 |
数据区域
plain: 已签名但未加密的字节。secure: 加密字节。payload: 仅在parse成功后才可信任。
JSON 之外的选项
示例使用常见的 JSON。为加快处理,二进制数据可避免 JSON 序列化和解析,同时减少数据大小。
将简单值存为文本,或将 Protobuf、MessagePack 等二进制格式的结构化数据放入 plain 和 secure。
go
Go 字符串可包含字节。将字节切片作为 string 传入,然后将结果转回 []byte。
仅验证服务
不签发 DAT 的服务使用仅验证选项和仅验证令牌,且只调用 parse。
关闭与错误
启用自动同步时,使用 defer cms.Close() 保证清理。
使用错误代码和重试分类,而不是错误消息。