feat!: genesis-pinned operator set, server identity with an encrypted control link, key-less join codes; release key continuity
Join codes need no passkey touch and carry only public values (genesis fingerprint, owner credentials, installer hashes). Nodes pin the genesis and owners at enrollment and only follow passkey-signed operator set versions. The panel's server key is listed in the set; pinned nodes require its signature and run the control link under AES-256-GCM. Password sessions carry no capabilities. The updater adopts a next_key from a signed manifest. Bump version to 0.2.0. [CI SKIP]
This commit is contained in:
1 parent
9bb6841dce
commit
a2f88a344b
89 files changed
+2145
-1195
No files matched your search
@@ -2,7 +2,7 @@ using System.Text.Json.Serialization;
|
||||
|
||||
namespace Fleet.Core;
|
||||
|
||||
/// <summary>passkey 对一段语句签出的断言(字段都是 base64url)。信任链的格式和验证在 Fleet.Identity 的 <c>OperatorTrust</c>。</summary>
|
||||
/// <summary>passkey 对一段语句签出的断言(字段都是 base64url)。信任根的格式和验证在 Fleet.Identity 的 <c>OperatorTrust</c>。</summary>
|
||||
public sealed class SignedStatementDto
|
||||
{
|
||||
[JsonPropertyName("statement")]
|
||||
@@ -21,25 +21,9 @@ public sealed class SignedStatementDto
|
||||
public string Signature { get; set; } = "";
|
||||
}
|
||||
|
||||
/// <summary>一个成员带的证明:操作员签的委托,加加入码的私钥签的绑定。</summary>
|
||||
public sealed class MemberProofDto
|
||||
{
|
||||
[JsonPropertyName("grant")]
|
||||
public SignedStatementDto Grant { get; set; } = new();
|
||||
|
||||
[JsonPropertyName("binding")]
|
||||
public string Binding { get; set; } = "";
|
||||
|
||||
[JsonPropertyName("binding_signature")]
|
||||
public string BindingSignature { get; set; } = "";
|
||||
}
|
||||
|
||||
/// <summary>操作员集合的链(创世在前),可选带一个委托(注册前取的,节点验过之后才继续)。</summary>
|
||||
/// <summary>操作员集合的链(创世在前):节点注册时取来,从固定的创世指纹验过才采用。</summary>
|
||||
public sealed class TrustBundle
|
||||
{
|
||||
[JsonPropertyName("chain")]
|
||||
public List<SignedStatementDto> Chain { get; set; } = [];
|
||||
|
||||
[JsonPropertyName("grant")]
|
||||
public SignedStatementDto? Grant { get; set; }
|
||||
}
|
||||
Reference in new issue
Block a user