From b77811716e09c789dba53067f145bc9e5951f09f Mon Sep 17 00:00:00 2001 From: Leonard Lyubich Date: Tue, 4 Aug 2020 18:16:53 +0300 Subject: [PATCH] [#26] object: Replace creator key to Integrity This commit moves the public key of the creator of the object to IntegrityHeader to encapsulate the verification data in one message. Thus field PublicKey of message Header has been moved to message IntegrityHeader with the name CreatorKey. As a result, PublicKey message is deleted as no longer used. Signed-off-by: Leonard Lyubich --- object/types.proto | 11 +++-------- proto-docs/object.md | 15 +-------------- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/object/types.proto b/object/types.proto index be4afa4..b64f75f 100644 --- a/object/types.proto +++ b/object/types.proto @@ -33,8 +33,6 @@ message ExtendedHeader { IntegrityHeader Integrity = 9; // StorageGroup contains meta information for the data audit storagegroup.StorageGroup StorageGroup = 10; - // PublicKey of owner of the object. Key is used for verification and can be based on NeoID or x509 cert. - PublicKey PublicKey = 11; } message Tombstone {} @@ -54,8 +52,10 @@ message SystemHeader { message IntegrityHeader { // HeadersChecksum is a checksum of all above headers in the object bytes HeadersChecksum = 1; + // CreatorKey carries public key of the object creator in a binary format. + bytes CreatorKey = 2; // ChecksumSignature is an user's signature of checksum to verify if it is correct - bytes ChecksumSignature = 2; + bytes ChecksumSignature = 3; } // SplitHeader groups information about spawning the object through a payload splitting. @@ -91,8 +91,3 @@ message Object { // Payload is an object's payload bytes Payload = 2; } - -message PublicKey { - // Value contains marshaled ecdsa public key - bytes Value = 1; -} diff --git a/proto-docs/object.md b/proto-docs/object.md index 3ffd4b3..0f462e0 100644 --- a/proto-docs/object.md +++ b/proto-docs/object.md @@ -34,7 +34,6 @@ - [Header](#object.Header) - [IntegrityHeader](#object.IntegrityHeader) - [Object](#object.Object) - - [PublicKey](#object.PublicKey) - [SplitHeader](#object.SplitHeader) - [SystemHeader](#object.SystemHeader) - [Tombstone](#object.Tombstone) @@ -388,7 +387,6 @@ Attribute groups the parameters of the object attributes. | PayloadChecksum | [bytes](#bytes) | | PayloadChecksum of actual object's payload | | Integrity | [IntegrityHeader](#object.IntegrityHeader) | | Integrity header with checksum of all above headers in the object | | StorageGroup | [storagegroup.StorageGroup](#storagegroup.StorageGroup) | | StorageGroup contains meta information for the data audit | -| PublicKey | [PublicKey](#object.PublicKey) | | PublicKey of owner of the object. Key is used for verification and can be based on NeoID or x509 cert. | @@ -412,6 +410,7 @@ Header groups the information about the NeoFS object. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | HeadersChecksum | [bytes](#bytes) | | HeadersChecksum is a checksum of all above headers in the object | +| CreatorKey | [bytes](#bytes) | | CreatorKey carries public key of the object creator in a binary format. | | ChecksumSignature | [bytes](#bytes) | | ChecksumSignature is an user's signature of checksum to verify if it is correct | @@ -427,17 +426,6 @@ Header groups the information about the NeoFS object. | Payload | [bytes](#bytes) | | Payload is an object's payload | - - -### Message PublicKey - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| Value | [bytes](#bytes) | | Value contains marshaled ecdsa public key | - - ### Message SplitHeader @@ -475,7 +463,6 @@ SplitHeader groups information about spawning the object through a payload split -