| Index: sync/util/cryptographer.h
|
| diff --git a/sync/util/cryptographer.h b/sync/util/cryptographer.h
|
| index d66402037d1ce84d942e0ff49798258a2df6f29c..b9c00013fa0f35a73ac4cee5f847b94d362190a4 100644
|
| --- a/sync/util/cryptographer.h
|
| +++ b/sync/util/cryptographer.h
|
| @@ -98,6 +98,10 @@ class Cryptographer {
|
| // never call Bootstrap at all.
|
| void Bootstrap(const std::string& restored_bootstrap_token);
|
|
|
| + // Bootstrap the keystore key.
|
| + void BootstrapKeystoreKey(
|
| + const std::string& restored_keystore_bootstrap_token);
|
| +
|
| // Returns whether we can decrypt |encrypted| using the keys we currently know
|
| // about.
|
| bool CanDecrypt(const sync_pb::EncryptedData& encrypted) const;
|
| @@ -169,6 +173,9 @@ class Cryptographer {
|
| // can't be created (i.e. if this Cryptograhper doesn't have valid keys).
|
| bool GetBootstrapToken(std::string* token) const;
|
|
|
| + // Obtain the bootstrap token based on the keystore encryption key.
|
| + bool GetKeystoreKeyBootstrapToken(std::string* token) const;
|
| +
|
| // Update the cryptographer based on the contents of the nigori specifics.
|
| // This updates both the encryption keys and the set of encrypted types.
|
| // Returns NEEDS_PASSPHRASE if was unable to decrypt the pending keys,
|
| @@ -186,7 +193,7 @@ class Cryptographer {
|
|
|
| // Returns true if we currently have a keystore-derived nigori, false
|
| // otherwise.
|
| - bool HasKeystoreKey();
|
| + bool HasKeystoreKey() const;
|
|
|
| // The set of types that are always encrypted.
|
| static ModelTypeSet SensitiveTypes();
|
| @@ -232,8 +239,9 @@ class Cryptographer {
|
| // Does not update the default nigori.
|
| void InstallKeyBag(const sync_pb::NigoriKeyBag& bag);
|
|
|
| - // Helper method to add a nigori as the new default nigori.
|
| - bool AddKeyImpl(Nigori* nigori);
|
| + // Helper method to add a nigori as either the new default nigori or the new
|
| + // keystore nigori.
|
| + bool AddKeyImpl(Nigori* nigori, bool is_keystore_key);
|
|
|
| // Functions to serialize + encrypt a Nigori object in an opaque format for
|
| // persistence by sync infrastructure.
|
|
|