创建安全会话
POST
/web/v1/secure-channel/sessionNone通过交换 RSA 加密的 AES 密钥创建一个新的安全通道会话。客户端使用服务器的 RSA 公钥加密其请求和响应 AES 密钥,然后提交到此接口。服务器解密并存储密钥,返回会话 ID 用于后续加密通信。
鉴权
Auth Chain: None — 这是一个公开接口,不需要 JWT 或 Turnstile。
请求参数
| Name | Type | Required | In | Description |
|---|---|---|---|---|
keyId | string | Yes | body | 从获取公钥接口获得的 RSA 密钥 ID |
encReqKey | string | Yes | body | Base64 编码的 RSA 加密 AES 密钥,用于请求加密 |
encRespKey | string | Yes | body | Base64 编码的 RSA 加密 AES 密钥,用于响应加密 |
成功响应
成功200
{
"version": "1.3.0",
"timestamp": 1709337600000,
"success": true,
"code": "2000",
"message": "SUCCESS",
"data": {
"sessionId": "sess_abc123def456",
"expiresAt": 1709424000000
}
}错误响应
Bad Request400
{
"success": false,
"code": "4000",
"message": "Invalid or expired RSA key ID"
}Bad Request — 解密失败400
{
"success": false,
"code": "4000",
"message": "Failed to decrypt session keys"
}说明
expiresAt字段为毫秒级时间戳,表示会话过期时间。- 会话密钥永远不会以明文返回;仅提供会话 ID 和过期时间。
- 使用流程:(1) 获取公钥,(2) 生成两个随机 AES-256 密钥(一个用于请求,一个用于响应),(3) 使用公钥进行 RSA 加密两个密钥,(4) 调用此接口,(5) 在后续加密请求中使用会话 ID。