| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 // | |
| 5 // Common sync protocol for encrypted data. | |
| 6 | |
| 7 // Update proto_value_conversions{.h,.cc,_unittest.cc} if you change | |
| 8 // any fields in this file. | |
| 9 | |
| 10 syntax = "proto2"; | |
| 11 | |
| 12 option optimize_for = LITE_RUNTIME; | |
| 13 option retain_unknown_fields = true; | |
| 14 | |
| 15 package sync_pb; | |
| 16 | |
| 17 // Encrypted sync data consists of two parts: a key name and a blob. Key name is | |
| 18 // the name of the key that was used to encrypt blob and blob is encrypted data | |
| 19 // itself. | |
| 20 // | |
| 21 // The reason we need to keep track of the key name is that a sync user can | |
| 22 // change their passphrase (and thus their encryption key) at any time. When | |
| 23 // that happens, we make a best effort to reencrypt all nodes with the new | |
| 24 // passphrase, but since we don't have transactions on the server-side, we | |
| 25 // cannot guarantee that every node will be reencrypted. As a workaround, we | |
| 26 // keep track of all keys, assign each key a name (by using that key to encrypt | |
| 27 // a well known string) and keep track of which key was used to encrypt each | |
| 28 // node. | |
| 29 message EncryptedData { | |
| 30 optional string key_name = 1; | |
| 31 optional string blob = 2; | |
| 32 }; | |
| OLD | NEW |