[#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 <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2020-08-04 18:16:53 +03:00 committed by Stanislav Bogatyrev
parent 0a5f3d5a01
commit b77811716e
2 changed files with 4 additions and 22 deletions

View file

@ -33,8 +33,6 @@ message ExtendedHeader {
IntegrityHeader Integrity = 9; IntegrityHeader Integrity = 9;
// StorageGroup contains meta information for the data audit // StorageGroup contains meta information for the data audit
storagegroup.StorageGroup StorageGroup = 10; 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 {} message Tombstone {}
@ -54,8 +52,10 @@ message SystemHeader {
message IntegrityHeader { message IntegrityHeader {
// HeadersChecksum is a checksum of all above headers in the object // HeadersChecksum is a checksum of all above headers in the object
bytes HeadersChecksum = 1; 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 // 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. // SplitHeader groups information about spawning the object through a payload splitting.
@ -91,8 +91,3 @@ message Object {
// Payload is an object's payload // Payload is an object's payload
bytes Payload = 2; bytes Payload = 2;
} }
message PublicKey {
// Value contains marshaled ecdsa public key
bytes Value = 1;
}

View file

@ -34,7 +34,6 @@
- [Header](#object.Header) - [Header](#object.Header)
- [IntegrityHeader](#object.IntegrityHeader) - [IntegrityHeader](#object.IntegrityHeader)
- [Object](#object.Object) - [Object](#object.Object)
- [PublicKey](#object.PublicKey)
- [SplitHeader](#object.SplitHeader) - [SplitHeader](#object.SplitHeader)
- [SystemHeader](#object.SystemHeader) - [SystemHeader](#object.SystemHeader)
- [Tombstone](#object.Tombstone) - [Tombstone](#object.Tombstone)
@ -388,7 +387,6 @@ Attribute groups the parameters of the object attributes.
| PayloadChecksum | [bytes](#bytes) | | PayloadChecksum of actual object's payload | | PayloadChecksum | [bytes](#bytes) | | PayloadChecksum of actual object's payload |
| Integrity | [IntegrityHeader](#object.IntegrityHeader) | | Integrity header with checksum of all above headers in the object | | 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 | | 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. |
<a name="object.Header"></a> <a name="object.Header"></a>
@ -412,6 +410,7 @@ Header groups the information about the NeoFS object.
| Field | Type | Label | Description | | Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- | | ----- | ---- | ----- | ----------- |
| HeadersChecksum | [bytes](#bytes) | | HeadersChecksum is a checksum of all above headers in the object | | 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 | | 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 | | Payload | [bytes](#bytes) | | Payload is an object's payload |
<a name="object.PublicKey"></a>
### Message PublicKey
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| Value | [bytes](#bytes) | | Value contains marshaled ecdsa public key |
<a name="object.SplitHeader"></a> <a name="object.SplitHeader"></a>
### Message SplitHeader ### Message SplitHeader
@ -475,7 +463,6 @@ SplitHeader groups information about spawning the object through a payload split
<!-- end messages --> <!-- end messages -->
<!-- end enums --> <!-- end enums -->