| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/ui/webui/options/certificate_manager_handler.h" | 5 #include "chrome/browser/ui/webui/options/certificate_manager_handler.h" |
| 6 | 6 |
| 7 #include "base/file_util.h" // for FileAccessProvider | 7 #include "base/file_util.h" // for FileAccessProvider |
| 8 #include "base/memory/scoped_vector.h" | 8 #include "base/memory/scoped_vector.h" |
| 9 #include "base/safe_strerror_posix.h" | 9 #include "base/safe_strerror_posix.h" |
| 10 #include "base/string_number_conversions.h" | 10 #include "base/string_number_conversions.h" |
| (...skipping 660 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 671 void CertificateManagerHandler::ImportPersonalSlotUnlocked() { | 671 void CertificateManagerHandler::ImportPersonalSlotUnlocked() { |
| 672 // Determine if the private key should be unextractable after the import. | 672 // Determine if the private key should be unextractable after the import. |
| 673 // We do this by checking the value of |use_hardware_backed_| which is set | 673 // We do this by checking the value of |use_hardware_backed_| which is set |
| 674 // to true if importing into a hardware module. Currently, this only happens | 674 // to true if importing into a hardware module. Currently, this only happens |
| 675 // for Chrome OS when the "Import and Bind" option is chosen. | 675 // for Chrome OS when the "Import and Bind" option is chosen. |
| 676 bool is_extractable = !use_hardware_backed_; | 676 bool is_extractable = !use_hardware_backed_; |
| 677 int result = certificate_manager_model_->ImportFromPKCS12( | 677 int result = certificate_manager_model_->ImportFromPKCS12( |
| 678 module_, file_data_, password_, is_extractable); | 678 module_, file_data_, password_, is_extractable); |
| 679 ImportExportCleanup(); | 679 ImportExportCleanup(); |
| 680 web_ui_->CallJavascriptFunction("CertificateRestoreOverlay.dismiss"); | 680 web_ui_->CallJavascriptFunction("CertificateRestoreOverlay.dismiss"); |
| 681 int string_id; |
| 681 switch (result) { | 682 switch (result) { |
| 682 case net::OK: | 683 case net::OK: |
| 683 break; | 684 return; |
| 684 case net::ERR_PKCS12_IMPORT_BAD_PASSWORD: | 685 case net::ERR_PKCS12_IMPORT_BAD_PASSWORD: |
| 685 ShowError( | |
| 686 l10n_util::GetStringUTF8(IDS_CERT_MANAGER_PKCS12_IMPORT_ERROR_TITLE), | |
| 687 l10n_util::GetStringUTF8(IDS_CERT_MANAGER_BAD_PASSWORD)); | |
| 688 // TODO(mattm): if the error was a bad password, we should reshow the | 686 // TODO(mattm): if the error was a bad password, we should reshow the |
| 689 // password dialog after the user dismisses the error dialog. | 687 // password dialog after the user dismisses the error dialog. |
| 688 string_id = IDS_CERT_MANAGER_BAD_PASSWORD; |
| 689 break; |
| 690 case net::ERR_PKCS12_IMPORT_INVALID_MAC: |
| 691 string_id = IDS_CERT_MANAGER_PKCS12_IMPORT_INVALID_MAC; |
| 692 break; |
| 693 case net::ERR_PKCS12_IMPORT_INVALID_FILE: |
| 694 string_id = IDS_CERT_MANAGER_PKCS12_IMPORT_INVALID_FILE; |
| 695 break; |
| 696 case net::ERR_PKCS12_IMPORT_UNSUPPORTED: |
| 697 string_id = IDS_CERT_MANAGER_PKCS12_IMPORT_UNSUPPORTED; |
| 690 break; | 698 break; |
| 691 default: | 699 default: |
| 692 ShowError( | 700 string_id = IDS_CERT_MANAGER_UNKNOWN_ERROR; |
| 693 l10n_util::GetStringUTF8(IDS_CERT_MANAGER_PKCS12_IMPORT_ERROR_TITLE), | |
| 694 l10n_util::GetStringUTF8(IDS_CERT_MANAGER_UNKNOWN_ERROR)); | |
| 695 break; | 701 break; |
| 696 } | 702 } |
| 703 ShowError( |
| 704 l10n_util::GetStringUTF8(IDS_CERT_MANAGER_PKCS12_IMPORT_ERROR_TITLE), |
| 705 l10n_util::GetStringUTF8(string_id)); |
| 697 } | 706 } |
| 698 | 707 |
| 699 void CertificateManagerHandler::CancelImportExportProcess( | 708 void CertificateManagerHandler::CancelImportExportProcess( |
| 700 const ListValue* args) { | 709 const ListValue* args) { |
| 701 ImportExportCleanup(); | 710 ImportExportCleanup(); |
| 702 } | 711 } |
| 703 | 712 |
| 704 void CertificateManagerHandler::ImportExportCleanup() { | 713 void CertificateManagerHandler::ImportExportCleanup() { |
| 705 file_path_.clear(); | 714 file_path_.clear(); |
| 706 password_.clear(); | 715 password_.clear(); |
| (...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 986 // TODO(xiyuan): Use async way when underlying supports it. | 995 // TODO(xiyuan): Use async way when underlying supports it. |
| 987 FundamentalValue ready(cryptohome->Pkcs11IsTpmTokenReady()); | 996 FundamentalValue ready(cryptohome->Pkcs11IsTpmTokenReady()); |
| 988 web_ui_->CallJavascriptFunction("CertificateManager.onCheckTpmTokenReady", | 997 web_ui_->CallJavascriptFunction("CertificateManager.onCheckTpmTokenReady", |
| 989 ready); | 998 ready); |
| 990 } | 999 } |
| 991 #endif | 1000 #endif |
| 992 | 1001 |
| 993 gfx::NativeWindow CertificateManagerHandler::GetParentWindow() const { | 1002 gfx::NativeWindow CertificateManagerHandler::GetParentWindow() const { |
| 994 return web_ui_->tab_contents()->view()->GetTopLevelNativeWindow(); | 1003 return web_ui_->tab_contents()->view()->GetTopLevelNativeWindow(); |
| 995 } | 1004 } |
| OLD | NEW |