1// Copyright (c) 2010 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// Sync protocol datatype extension for nigori keys. 6 7// Update proto_value_conversions{.h,.cc,_unittest.cc} if you change 8// any fields in this file. 9 10syntax = "proto2"; 11 12option optimize_for = LITE_RUNTIME; 13option retain_unknown_fields = true; 14 15package sync_pb; 16 17import "encryption.proto"; 18import "sync.proto"; 19 20message NigoriKey { 21 optional string name = 1; 22 optional bytes user_key = 2; 23 optional bytes encryption_key = 3; 24 optional bytes mac_key = 4; 25} 26 27message NigoriKeyBag { 28 repeated NigoriKey key = 2; 29} 30 31// Properties of nigori sync object. 32message NigoriSpecifics { 33 optional EncryptedData encrypted = 1; 34 // True if |encrypted| is encrypted using a passphrase 35 // explicitly set by the user. 36 optional bool using_explicit_passphrase = 2; 37 38 // Booleans corresponding to whether a datatype should be encrypted. 39 // Passwords are always encrypted, so we don't need a field here. 40 optional bool encrypt_bookmarks = 3; 41 optional bool encrypt_preferences = 4; 42 optional bool encrypt_autofill_profile = 5; 43 optional bool encrypt_autofill = 6; 44 optional bool encrypt_themes = 7; 45 optional bool encrypt_typed_urls = 8; 46 optional bool encrypt_extensions = 9; 47 optional bool encrypt_sessions = 10; 48 optional bool encrypt_apps = 11; 49} 50 51extend EntitySpecifics { 52 optional NigoriSpecifics nigori = 47745; 53} 54 55