- 🦊一分钟,了解 CCC3.0!
- CCC3.0协议要求
- CCC3.0接口协议
- 私有协议
- 公有协议
- 心跳检测GET
- 钥匙跟踪-创建车主钥匙使用POST
- 管理钥匙-删除钥匙POST
- 管理钥匙-暂停钥匙POST
- 管理钥匙-恢复钥匙POST
- 生成分享会话POST
- 赎回共享会话POST
- 取消分享会话POST
- 钥匙分享交换-创建分享钥匙POST
- 钥匙分享交换-签名分享钥匙POST
- 钥匙分享交换-导入分享钥匙POST
- 事件通知-钥匙被终止POST
- 事件通知-钥匙已暂停POST
- 事件通知-钥匙已恢复POST
- 事件通知-分享钥匙正在终止POST
- 事件通知-分享钥匙终止POST
- 事件通知-分享钥匙被暂停POST
- 事件通知-分享钥匙恢复POST
- 事件通知-正在恢复数字钥匙POST
- 事件通知-分享钥匙已激活POST
- 事件通知-钥匙订阅已更改POST
- 事件通知-分享钥匙需要密码POST
- 事件通知-跨平台分享钥匙启动POST
- 事件通知-跨平台分享钥匙取消POST
- 事件通知-跨平台分享钥匙会话超时POST
- 事件通知-权利已更新POST
- 事件通知-更新了 UI 元素POST
- 事件通知-车辆认证通知POST
- 事件通知-创建钥匙通知POST
- 事件通知-签名钥匙通知POST
- 事件通知-导入钥匙通知POST
- 钥匙跟踪-分享钥匙使用POST
- CCC3.0资料
管理钥匙-恢复钥匙
POST
/keyApi/v1/manageKey
这是设备 OEM 服务器和车辆 OEM 服务器提供的通用 API,用于管理数字密钥的生命周期。该 API 分别用于第 11 节和第 13 节所述的密钥共享和密钥终止。
RESUME-恢复钥匙
请求参数
Header 参数
x-requestId
string
可选
x-device-oemId
string
可选
Body 参数application/json
keyID
string
唯一标识
action
string
钥匙管理事件类型
SUSPEND-暂停
RESUME-恢复
deviceRemoteTerminationRequest
object
可选
version
string
指定的算法的标识符。示例“ECIES_v1”
ephemeralPublicKey
string
临时公钥
发送方公钥的编码格式:concat(0x04, x, y)(对于基于命名曲线 secp256r1 1.2.840.10045.3.1.7 生成的密钥,总共 65 个字节)
publicKeyHash
string
公钥指纹
指纹生成算法:sha256Hash(toUncompressedRawECPublicKeyFormat(recipientKAPublicKey)
ECIES_v1 钥匙协议中使用的接收系统的未压缩钥匙协议公钥 (concat(0x04, x, y)) 的 SHA-256 哈希
data
string
加密数据
serverRemoteTerminationRequest
string
可选
vehicleOEMProprietaryData
string
必需
示例
{
"keyID": "4938205039594",
"action": "RESUME",
"deviceRemoteTerminationRequest": {
"version": "ECIES_v1",
"ephemeralPublicKey": "16eb03825f2d97827d91806d630bc4adff44686587ffd58d32f4522ada80cc01126f1a6186b2a00893679e1abf8172fd41f0c0c1bdda3b0046131123616dc0729e",
"publicKeyHash": "677a1aa052d7caef29d6e3bbc95bf11d43e3609579966168d7d533fd76a02e19",
"data": "kE8/Rs9sNo4olc6s3Qej7mXhAtDPcp...1Bm/r7bKNX6m365vnIDEDc"
}
}
示例代码
Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST '/keyApi/v1/manageKey' \
--header 'x-requestId;' \
--header 'x-device-oemId;' \
--header 'Content-Type: application/json' \
--data-raw '{
"keyID": "4938205039594",
"action": "RESUME",
"deviceRemoteTerminationRequest": {
"version": "ECIES_v1",
"ephemeralPublicKey": "16eb03825f2d97827d91806d630bc4adff44686587ffd58d32f4522ada80cc01126f1a6186b2a00893679e1abf8172fd41f0c0c1bdda3b0046131123616dc0729e",
"publicKeyHash": "677a1aa052d7caef29d6e3bbc95bf11d43e3609579966168d7d533fd76a02e19",
"data": "kE8/Rs9sNo4olc6s3Qej7mXhAtDPcp...1Bm/r7bKNX6m365vnIDEDc"
}
}'
返回响应
🟢201成功
application/json
Body
responseHeader
object
公共响应标头
statusCode
string
状态码
encryptedData
object
加密数据
version
string
版本
ephemeralPublicKey
string
十六进制编码的发件人的临时公钥。
publicKeyHash
string
十六进制编码的收件人的钥匙协议公钥指纹。
data
string
加密数据的Base64编码。
示例
{
"responseHeader": {
"statusCode": "200"
},
"encryptedData": {
"version": "ECIES_v1",
"ephemeralPublicKey": "098234098234750893476372832742373468923482357508932832742373468923482347637283274237346892348235",
"publicKeyHash": "50982347502373468923482385098234750237346892394346892348234763728327",
"data": "ydST1ZG5Q3cflzfM1qjjwpmOmWQHta...SBBiIAGK3PUbdE2IF/MmPefY9b"
}
}