CCC3.0
  1. 公有协议
CCC3.0
  • 🦊一分钟,了解 CCC3.0!
  • CCC3.0协议要求
  • CCC3.0接口协议
    • 私有协议
      • 私有-钥匙列表
      • 私有-登记删除朋友钥匙
      • 私有-在线删除朋友钥匙
      • 私有-车上通知KTS删除朋友钥匙成功
    • 公有协议
      • 心跳检测
        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资料
    • CCC3.0模块角色认识
    • 认证流程
    • 蓝牙钥匙笔记
    • DK Framework API
    • 钥匙分享
      • 建立钥匙分享渠道
      • 钥匙分享流程
      • 简版钥匙分享流程
    • 钥匙删除-朋友钥匙
      • 远程-在车机上删除朋友钥匙
      • 远程-在车机上请求在线删除
      • 远程-从车主的整车账户中删除好友钥匙
      • 远程-车主在车辆 OEM APP删除钥匙
      • 远程-根据钥匙的到期日期删除好友钥匙
      • 远程-设备 OEM 删除好友/车主钥匙
      • 远程-手机丢失,好友/车主远程擦除设备而导致好友/车主钥匙删除
      • 本地-朋友/车主在自己手机上通过车辆 OEM APP删除钥匙
      • 本地-朋友/车主手机由于刷机而导致好友/车主钥匙删除
    • 钥匙删除-车主钥匙
      • 车主更换手机去删除旧手机钥匙,并转移到新手机
      • 车主在车上通过线上主动删除钥匙
    • 钥匙暂停/恢复
      • 设备 OEM 服务器暂停朋友钥匙钥匙(当朋友手机丢失,朋友去设备厂商官网挂失锁定手机)
      • 朋友手机找回后恢复朋友钥匙
    • 车主手机取消配对
      • 车主出售车辆,在车上解除钥匙配对
      • 车主出售车辆,在车上在线请求车辆OEM解除钥匙配对
      • 车主在车辆APP中取消配对
  1. 公有协议

钥匙跟踪-分享钥匙使用

POST
/keyApi/v1/trackKey
分享钥匙成功之后,由朋友手机设备厂商调用----->车厂OEM。
这是车辆 OEM 服务器提供的用于跟踪数字密钥的通用 API。这个 API 应该具有幂等行为。如果为已注册的 keyID 调用 trackKey,则 API 调用将成功并返回通常的响应。该 API 用于所有者配对和密钥共享,分别如第 6.3.4.4 节和第 11.8.5 节所述。

请求参数

Header 参数
x-requestId
string 
可选
设备 OEM 服务器和车辆 OEM 服务器的所有请求都应具有 HTTP 标头“x-requestId”。该值应为包含连字符的长度为 36 的 UUID。
x-device-oemId
string 
可选
设备 OEM 服务器的所有请求都应具有 HTTP 标头“x-device-oemId”。值是设备 OEM 的名称。
Body 参数application/json
encryptionCertChain
array[string]
证书链
必需
X509证书的base64编码数组,表示从车辆OEM服务器到设备OEM服务器加密uiBundle的证书链。使用列表中的第一个证书执行trackKeyResponse()的加密。 这是车辆和设备oem之间建立的信任链,超出了本规范的范围。
encryptionVersion
string 
加密版本
必需
定义用于从车辆OEM服务器到设备OEM服务器加密的加密版本。取值为“ECIES_v1”
keyID
string 
唯一标识
必需
钥匙ID
keyType
string 
钥匙类型
必需
OWNER-主钥匙;SHARED-分享钥匙
deviceType
string 
设备类型
必需
PHONE-手机;WATCH-手环;OTHER-其他
accountIDHash
string 
用户ID的hash值
必需
设备OEM帐户id的散列。对于相同的Device OEM帐户,accountIdHash在帐户的整个生命周期内应该是相同的。
keyData
object  | null 
加密数据
可选
version
string 
版本
可选
指定的算法的标识符。示例“ECIES_v1”
ephemeralPublicKey
string 
十六进制编码的发件人的临时公钥。
可选
发送方公钥的编码格式:concat(0x04, x, y)(对于基于命名曲线 secp256r1 1.2.840.10045.3.1.7 生成的密钥,总共 65 个字节)
publicKeyHash
string 
十六进制编码的收件人的钥匙协议公钥指纹。
可选
ECIES_v1 钥匙协议中使用的接收系统的未压缩钥匙协议公钥 (concat(0x04, x, y)) 的 SHA-256 哈希
data
string 
加密数据的Base64编码。
可选
data=base64Encode(encrypt(unencryptedData, symmetricEncryptionParams))
示例
{
    "encryptionCertChain": [
        "483729239...475C864E4F",
        "48372949AB93C...826E23564F"
    ],
    "encryptionVersion": "ECIES_v1",
    "keyID": "394858302023",
    "keyType": "OWNER | SHARED",
    "deviceType": "PHONE",
    "accountIDHash": "C8645830202EFEB53427A6D75F15C85E78A5195307E2351858349AB9",
    "keyData": {
        "version": "ECIES_v1",
        "ephemeralPublicKey": "04613197827d91806d630bc4adff44686b012316eb03825f2d6587ffd58d32f4522ada80cc93679e1a316dc0729ebf8172fd41f0c0c1bdda01126f1a6186b2a008",
        "publicKeyHash": "d6e3bbc95bf11d533677a1aa052d7caef29fd76a02e43e3609579966168d7d19",
        "data": "5GRH7/ecb85HFsTalxn3IdeT7ARtfFZn2AuMft1p...IkcchjFBLJTGm9qvJtxK/3EdWob+iFS9 FwHeKSjq8MxdNgQ1rj4fq6CzQfY8O9"
    }
}

示例代码

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/trackKey' \
--header 'x-requestId;' \
--header 'x-device-oemId;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "encryptionCertChain": [
        "483729239...475C864E4F",
        "48372949AB93C...826E23564F"
    ],
    "encryptionVersion": "ECIES_v1",
    "keyID": "394858302023",
    "keyType": "OWNER | SHARED",
    "deviceType": "PHONE",
    "accountIDHash": "C8645830202EFEB53427A6D75F15C85E78A5195307E2351858349AB9",
    "keyData": {
        "version": "ECIES_v1",
        "ephemeralPublicKey": "04613197827d91806d630bc4adff44686b012316eb03825f2d6587ffd58d32f4522ada80cc93679e1a316dc0729ebf8172fd41f0c0c1bdda01126f1a6186b2a008",
        "publicKeyHash": "d6e3bbc95bf11d533677a1aa052d7caef29fd76a02e43e3609579966168d7d19",
        "data": "5GRH7/ecb85HFsTalxn3IdeT7ARtfFZn2AuMft1p...IkcchjFBLJTGm9qvJtxK/3EdWob+iFS9 FwHeKSjq8MxdNgQ1rj4fq6CzQfY8O9"
    }
}'

返回响应

🟢201成功
application/json
Body
responseHeader
object 
公共响应标头
必需
公共响应标头
statusCode
string 
状态码
必需
uiBundle
object 
加密的uiBundle
必需
详见17.8.6节。加密的uiBundle,从车辆OEM服务器加密到设备OEM服务器
version
string 
版本
必需
指定的算法的标识符。示例“ECIES_v1”
ephemeralPublicKey
string 
十六进制编码的发件人的临时公钥。
必需
发送方公钥的编码格式:concat(0x04, x, y)(对于基于命名曲线 secp256r1 1.2.840.10045.3.1.7 生成的密钥,总共 65 个字节)
publicKeyHash
string 
十六进制编码的收件人的钥匙协议公钥指纹。
必需
ECIES_v1 钥匙协议中使用的接收系统的未压缩钥匙协议公钥 (concat(0x04, x, y)) 的 SHA-256 哈希
data
string 
加密数据的Base64编码。
必需
data=base64Encode(encrypt(unencryptedData, symmetricEncryptionParams))
eventType
string 
SHARED_KEY_ADDED
可选
只有当跟踪的车主密钥与共享密钥相关联,并且车主迁移到新设备并跟踪车辆的新车主密钥时才需要。
eventData
object 
加密数据
可选
只有当跟踪车主密钥与共享密钥相关联,且车主迁移到新设备并跟踪车辆的新车主密钥时才需要。
sharedKeys
string 
所有者分享的钥匙数
可选
shareableKeys
string 
可用于共享的钥匙数量
可选
keyValidTo
string 
钥匙有效期结束日期。时间应以 UTC ISO-8601 格式 yyyy-MM-dd’T’HH:mm:ss.SSSZ 指定。
可选
共享密钥所需 所有者密钥可选
keyValidFrom
string 
钥匙有效期开始日期。时间应以 UTC ISO-8601 格式 yyyy-MM-dd’T’HH:mm:ss.SSSZ 指定。
可选
共享密钥所需 所有者密钥可选
reason
string 
原因
可选
encryptedData
object 
用于SHARED_KEY_ADDED事件的eventData
可选
只有当跟踪车主密钥与共享密钥相关联,且车主迁移到新设备并跟踪车辆的新车主密钥时才需要。
brand
string 
车辆品牌
必需
model
string 
车辆型号
必需
vehicleMobilizationData
object 
从车辆OEM服务器到设备加密数据
可选
如果在线检索止动令牌或槽标识符或两者,则需要。
version
string 
版本
可选
指定的算法的标识符。示例“ECIES_v1”
ephemeralPublicKey
string 
十六进制编码的发件人的临时公钥。
可选
发送方公钥的编码格式:concat(0x04, x, y)(对于基于命名曲线 secp256r1 1.2.840.10045.3.1.7 生成的密钥,总共 65 个字节)
publicKeyHash
string 
十六进制编码的收件人的钥匙协议公钥指纹。
可选
ECIES_v1 钥匙协议中使用的接收系统的未压缩钥匙协议公钥 (concat(0x04, x, y)) 的 SHA-256 哈希
data
string 
加密数据的Base64编码。
可选
data=base64Encode(encrypt(unencryptedData, symmetricEncryptionParams))
示例
{
    "responseHeader": {
        "statusCode": "200"
    },
    "uiBundle": {
        "version": "ECIES_v1",
        "ephemeralPublicKey": "806d6306b04613197827d91012316eb03bc4adff4468825f2d6587fada80cc93679e1afd58d32f4522172fd41f0c0c1b1126f1316dc0729ebf8a6186b2a008dda0",
        "publicKeyHash": "1d533677a1aa052dd6e3bbc95bf17cae02e4f29fd76a8d7d193e360957996616",
        "data": "lxn3IdeT5b85HFsTa7ARtfFZGRH7/ecn2AuMft1p...K/3EdWob+iFS9m9qvJtxCzQfY8O9FwHeKSjq8MxdNgQ1rj4fq6IkcchjFBLJTG"
    },
    "eventType": "SHARED_KEY_ADDED",
    "eventData": {
        "sharedKeys": "3",
        "shareableKeys": "7",
        "keyValidTo": "2021-02-19T23:05:17.462Z",
        "keyValidFrom": "2019-02-19T23:05:17.462Z",
        "reason": "shared key is added",
        "encryptedData": {
            "version": "ECIES_v1",
            "ephemeralPublicKey": "098234098234750893476372832742373468923482357508932832742373468923482347637283274237346892348235",
            "publicKeyHash": "50982347502373468923482385098234750237346892394346892348234763728327",
            "data": "ydST1ZG5Q3cflzfM1qjjwpmOmWQHta...SBBiIAGK3PUbdE2IF/MmPefY9bsH"
        }
    },
    "brand": "xyz",
    "model": "abc",
    "vehicleMobilizationData": {
        "version": "ECIES_v1",
        "ephemeralPublicKey": "098234098234750893476372832742373468923482357508932832742373468923482347637283274237346892348235",
        "publicKeyHash": "50982347502373468923482385098234750237346892394346892348234763728327",
        "data": "ydST1ZG5Q3cflzfM1qjjwpmOmWQHta...SBBiIAGK3PUbdE2IF/MmPefY9bsH"
    }
}
上一页
事件通知-导入钥匙通知
下一页
CCC3.0模块角色认识
Built with