Fuchsia 项目会持续获取新功能、增强功能和 和安全修复程序Fuchsia 的软件更新系统利用 更新框架 (TUF) 1.0 版。 但是,Fuchsia 与 TUF 之间存在一些差异:
规范版本
在 Fuchsia 代码库中,Fucsia 代码库版本被列为 顶级属性。这个示例显示了 规范版本的格式:
{
...
"signed": {
"_type": ROLE,
"spec_version": "1",
"custom": {
"fuchsia_spec_version": <FUCHSIA_SPEC_VERSION>,
}
...
}
值的定义:
- 位置:
FUCHSIA_SPEC_VERSION
。面孔大小:INT
。Fuchsia 代码库规范的值 版本。例如1
。
软件包整理
处理 Fuchsia 软件包的 Fuchsia 代码库中的 TUF 目标包含自定义 指向文件包元数据归档的元数据。以下示例展示了软件包的格式:
{
...
"targets": {
"/PACKAGE_PATH": {
...
}
...
}
}
值的定义:
PACKAGE_PATH
。代码库的软件包中软件包的相对路径 。
Merkle 根
在 Fuchsia 代码库中,每个软件包目标都将软件包元数据 FAR 的 Merkle 根作为自定义属性包含在内。以下示例展示了 Merkle 根目录的格式:
{
...
"targets" : {
PACKAGEPATH : {
"length" : LENGTH,
"hashes" : HASHES,
"custom" : {
"merkle" : <MERKLE_ROOT>,
"size" : <BLOB_SIZE>,
}
}
...
}
}
值的定义:
- 位置:
MERKLE_ROOT
。面孔大小:STRING
。软件包的 Merkle 根哈希的十六进制字符串 Meta FAR。 - 位置:
BLOB_SIZE
。面孔大小:INT
。由MERKLE_ROOT
标识的未加密 BLOB 的大小(以字节为单位)。