Index: chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.cc |
diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.cc b/chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.cc |
index 3b86f22906b6cf065d70d95817f9d646ab8f8acf..6a244620788ab910fac617c9ecb6e0eb7bc22f9a 100644 |
--- a/chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.cc |
+++ b/chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.cc |
@@ -270,10 +270,18 @@ void SupervisedUserCreationControllerNew::OnMountSuccess( |
creation_context_->salted_password, |
kCryptohomeSupervisedUserKeyLabel, |
kCryptohomeSupervisedUserKeyPrivileges); |
- base::Base64Decode(creation_context_->encryption_key, |
- &password_key.encryption_key); |
- base::Base64Decode(creation_context_->signature_key, |
- &password_key.signature_key); |
+ std::string encryption_key; |
+ base::Base64Decode(creation_context_->encryption_key, &encryption_key); |
+ password_key.authorization_data.push_back( |
+ cryptohome::KeyDefinition::AuthorizationData(true /* encrypt */, |
+ false /* sign */, |
+ encryption_key)); |
+ std::string signature_key; |
+ base::Base64Decode(creation_context_->signature_key, &signature_key); |
+ password_key.authorization_data.push_back( |
+ cryptohome::KeyDefinition::AuthorizationData(false /* encrypt */, |
+ true /* sign */, |
+ signature_key)); |
Key key(Key::KEY_TYPE_SALTED_PBKDF2_AES256_1234, |
std::string(), // The salt is stored elsewhere. |