Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(188)

Side by Side Diff: components/password_manager/core/browser/login_database_mac.cc

Issue 1192493005: Encrypt password values in LoginDatabase on Mac. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comments Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/password_manager/core/browser/login_database.h" 5 #include "components/password_manager/core/browser/login_database.h"
6 6
7 // On the Mac, the LoginDatabase nulls out passwords, so that we can use the 7 #include "components/os_crypt/os_crypt.h"
8 // rest of the database as a suplemental storage system to complement Keychain,
9 // providing storage of fields Keychain doesn't allow.
10 8
11 namespace password_manager { 9 namespace password_manager {
12 10
13 // static 11 // static
14 LoginDatabase::EncryptionResult LoginDatabase::EncryptedString( 12 LoginDatabase::EncryptionResult LoginDatabase::EncryptedString(
15 const base::string16& plain_text, 13 const base::string16& plain_text,
16 std::string* cipher_text) { 14 std::string* cipher_text) {
17 *cipher_text = std::string(); 15 return OSCrypt::EncryptString16(plain_text, cipher_text)
18 return ENCRYPTION_RESULT_SUCCESS; 16 ? ENCRYPTION_RESULT_SUCCESS
17 : ENCRYPTION_RESULT_SERVICE_FAILURE;
19 } 18 }
20 19
21 // static 20 // static
22 LoginDatabase::EncryptionResult LoginDatabase::DecryptedString( 21 LoginDatabase::EncryptionResult LoginDatabase::DecryptedString(
23 const std::string& cipher_text, 22 const std::string& cipher_text,
24 base::string16* plain_text) { 23 base::string16* plain_text) {
25 *plain_text = base::string16(); 24 return OSCrypt::DecryptString16(cipher_text, plain_text)
26 return ENCRYPTION_RESULT_SUCCESS; 25 ? ENCRYPTION_RESULT_SUCCESS
26 : ENCRYPTION_RESULT_SERVICE_FAILURE;
27 } 27 }
28 28
29 } // namespace password_manager 29 } // namespace password_manager
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698