Index: components/sync/base/nigori.cc |
diff --git a/components/sync/base/nigori.cc b/components/sync/base/nigori.cc |
index e3067cc6c4cbb08eb3c007d7142fca42836407f1..5204521e36ba8bad55d14feb3753de25ed56ef9a 100644 |
--- a/components/sync/base/nigori.cc |
+++ b/components/sync/base/nigori.cc |
@@ -75,25 +75,21 @@ bool Nigori::InitByDerivation(const std::string& hostname, |
kSaltKeySizeInBits)); |
DCHECK(user_salt); |
- std::string raw_user_salt; |
- if (!user_salt->GetRawKey(&raw_user_salt)) |
- return false; |
- |
// Kuser = PBKDF2(P, Suser, Nuser, 16) |
user_key_ = SymmetricKey::DeriveKeyFromPassword( |
- SymmetricKey::AES, password, raw_user_salt, kUserIterations, |
+ SymmetricKey::AES, password, user_salt->key(), kUserIterations, |
kDerivedKeySizeInBits); |
DCHECK(user_key_); |
// Kenc = PBKDF2(P, Suser, Nenc, 16) |
encryption_key_ = SymmetricKey::DeriveKeyFromPassword( |
- SymmetricKey::AES, password, raw_user_salt, kEncryptionIterations, |
+ SymmetricKey::AES, password, user_salt->key(), kEncryptionIterations, |
kDerivedKeySizeInBits); |
DCHECK(encryption_key_); |
// Kmac = PBKDF2(P, Suser, Nmac, 16) |
mac_key_ = SymmetricKey::DeriveKeyFromPassword( |
- SymmetricKey::HMAC_SHA1, password, raw_user_salt, kSigningIterations, |
+ SymmetricKey::HMAC_SHA1, password, user_salt->key(), kSigningIterations, |
kDerivedKeySizeInBits); |
DCHECK(mac_key_); |
@@ -132,12 +128,8 @@ bool Nigori::Permute(Type type, |
if (!encryptor.Encrypt(plaintext.str(), &ciphertext)) |
return false; |
- std::string raw_mac_key; |
- if (!mac_key_->GetRawKey(&raw_mac_key)) |
- return false; |
- |
HMAC hmac(HMAC::SHA256); |
- if (!hmac.Init(raw_mac_key)) |
+ if (!hmac.Init(mac_key_->key())) |
return false; |
std::vector<unsigned char> hash(kHashSize); |
@@ -168,12 +160,8 @@ bool Nigori::Encrypt(const std::string& value, std::string* encrypted) const { |
if (!encryptor.Encrypt(value, &ciphertext)) |
return false; |
- std::string raw_mac_key; |
- if (!mac_key_->GetRawKey(&raw_mac_key)) |
- return false; |
- |
HMAC hmac(HMAC::SHA256); |
- if (!hmac.Init(raw_mac_key)) |
+ if (!hmac.Init(mac_key_->key())) |
return false; |
std::vector<unsigned char> hash(kHashSize); |
@@ -206,12 +194,8 @@ bool Nigori::Decrypt(const std::string& encrypted, std::string* value) const { |
input.substr(kIvSize, input.size() - (kIvSize + kHashSize))); |
std::string hash(input.substr(input.size() - kHashSize, kHashSize)); |
- std::string raw_mac_key; |
- if (!mac_key_->GetRawKey(&raw_mac_key)) |
- return false; |
- |
HMAC hmac(HMAC::SHA256); |
- if (!hmac.Init(raw_mac_key)) |
+ if (!hmac.Init(mac_key_->key())) |
return false; |
std::vector<unsigned char> expected(kHashSize); |
@@ -232,7 +216,7 @@ bool Nigori::Decrypt(const std::string& encrypted, std::string* value) const { |
return true; |
} |
-bool Nigori::ExportKeys(std::string* user_key, |
+void Nigori::ExportKeys(std::string* user_key, |
std::string* encryption_key, |
std::string* mac_key) const { |
DCHECK(encryption_key); |
@@ -240,12 +224,12 @@ bool Nigori::ExportKeys(std::string* user_key, |
DCHECK(user_key); |
if (user_key_) |
- user_key_->GetRawKey(user_key); |
+ *user_key = user_key_->key(); |
else |
user_key->clear(); |
- return encryption_key_->GetRawKey(encryption_key) && |
- mac_key_->GetRawKey(mac_key); |
+ *encryption_key = encryption_key_->key(); |
+ *mac_key = mac_key_->key(); |
} |
} // namespace syncer |