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

Side by Side Diff: chrome/browser/dom_ui/options/certificate_manager_handler.h

Issue 5686002: NSS: PKCS 11 password prompt. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: addressing review comments Created 9 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #ifndef CHROME_BROWSER_DOM_UI_OPTIONS_CERTIFICATE_MANAGER_HANDLER_H_ 5 #ifndef CHROME_BROWSER_DOM_UI_OPTIONS_CERTIFICATE_MANAGER_HANDLER_H_
6 #define CHROME_BROWSER_DOM_UI_OPTIONS_CERTIFICATE_MANAGER_HANDLER_H_ 6 #define CHROME_BROWSER_DOM_UI_OPTIONS_CERTIFICATE_MANAGER_HANDLER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string>
10
9 #include "base/scoped_ptr.h" 11 #include "base/scoped_ptr.h"
10 #include "chrome/browser/cancelable_request.h" 12 #include "chrome/browser/cancelable_request.h"
11 #include "chrome/browser/certificate_manager_model.h" 13 #include "chrome/browser/certificate_manager_model.h"
12 #include "chrome/browser/dom_ui/options/options_ui.h" 14 #include "chrome/browser/dom_ui/options/options_ui.h"
13 #include "chrome/browser/shell_dialogs.h" 15 #include "chrome/browser/shell_dialogs.h"
14 #include "gfx/native_widget_types.h" 16 #include "gfx/native_widget_types.h"
15 #include "net/base/cert_database.h" 17 #include "net/base/cert_database.h"
16 18
17 class FileAccessProvider; 19 class FileAccessProvider;
18 20
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 void CancelImportExportProcess(const ListValue* args); 54 void CancelImportExportProcess(const ListValue* args);
53 void ImportExportCleanup(); 55 void ImportExportCleanup();
54 56
55 // Export to PKCS #12 file. The sequence goes like: 57 // Export to PKCS #12 file. The sequence goes like:
56 // 1a. user click on export button -> ExportPersonal -> launches file 58 // 1a. user click on export button -> ExportPersonal -> launches file
57 // selector 59 // selector
58 // 1b. user click on export all button -> ExportAllPersonal -> launches file 60 // 1b. user click on export all button -> ExportAllPersonal -> launches file
59 // selector 61 // selector
60 // 2. user selects file -> ExportPersonalFileSelected -> launches password 62 // 2. user selects file -> ExportPersonalFileSelected -> launches password
61 // dialog 63 // dialog
62 // 3. user enters password -> ExportPersonalPasswordSelected -> exports to 64 // 3. user enters password -> ExportPersonalPasswordSelected -> unlock slots
63 // memory buffer -> starts async write operation 65 // 4. slots unlocked -> ExportPersonalSlotsUnlocked -> exports to memory
64 // 4. write finishes (or fails) -> ExportPersonalFileWritten 66 // buffer -> starts async write operation
67 // 5. write finishes (or fails) -> ExportPersonalFileWritten
65 void ExportPersonal(const ListValue* args); 68 void ExportPersonal(const ListValue* args);
66 void ExportAllPersonal(const ListValue* args); 69 void ExportAllPersonal(const ListValue* args);
67 void ExportPersonalFileSelected(const FilePath& path); 70 void ExportPersonalFileSelected(const FilePath& path);
68 void ExportPersonalPasswordSelected(const ListValue* args); 71 void ExportPersonalPasswordSelected(const ListValue* args);
72 void ExportPersonalSlotsUnlocked();
69 void ExportPersonalFileWritten(int write_errno, int bytes_written); 73 void ExportPersonalFileWritten(int write_errno, int bytes_written);
70 74
71 // Import from PKCS #12 file. The sequence goes like: 75 // Import from PKCS #12 file. The sequence goes like:
72 // 1. user click on import button -> StartImportPersonal -> launches file 76 // 1. user click on import button -> StartImportPersonal -> launches file
73 // selector 77 // selector
74 // 2. user selects file -> ImportPersonalFileSelected -> launches password 78 // 2. user selects file -> ImportPersonalFileSelected -> launches password
75 // dialog 79 // dialog
76 // 3. user enters password -> ImportPersonalPasswordSelected -> starts async 80 // 3. user enters password -> ImportPersonalPasswordSelected -> starts async
77 // read operation 81 // read operation
78 // 4. read operation completes -> ImportPersonalFileRead -> attempts to 82 // 4. read operation completes -> ImportPersonalFileRead -> unlock slot
83 // 5. slot unlocked -> ImportPersonalSlotUnlocked attempts to
79 // import with previously entered password 84 // import with previously entered password
80 // 5a. if import succeeds -> ImportExportCleanup 85 // 6a. if import succeeds -> ImportExportCleanup
81 // 5b. if import fails -> show error, ImportExportCleanup 86 // 6b. if import fails -> show error, ImportExportCleanup
82 // TODO(mattm): allow retrying with different password 87 // TODO(mattm): allow retrying with different password
83 void StartImportPersonal(const ListValue* args); 88 void StartImportPersonal(const ListValue* args);
84 void ImportPersonalFileSelected(const FilePath& path); 89 void ImportPersonalFileSelected(const FilePath& path);
85 void ImportPersonalPasswordSelected(const ListValue* args); 90 void ImportPersonalPasswordSelected(const ListValue* args);
86 void ImportPersonalFileRead(int read_errno, std::string data); 91 void ImportPersonalFileRead(int read_errno, std::string data);
92 void ImportPersonalSlotUnlocked();
87 93
88 // Import Server certificates from file. Sequence goes like: 94 // Import Server certificates from file. Sequence goes like:
89 // 1. user clicks on import button -> ImportServer -> launches file selector 95 // 1. user clicks on import button -> ImportServer -> launches file selector
90 // 2. user selects file -> ImportServerFileSelected -> starts async read 96 // 2. user selects file -> ImportServerFileSelected -> starts async read
91 // 3. read completes -> ImportServerFileRead -> parse certs -> attempt import 97 // 3. read completes -> ImportServerFileRead -> parse certs -> attempt import
92 // 4a. if import succeeds -> ImportExportCleanup 98 // 4a. if import succeeds -> ImportExportCleanup
93 // 4b. if import fails -> show error, ImportExportCleanup 99 // 4b. if import fails -> show error, ImportExportCleanup
94 void ImportServer(const ListValue* args); 100 void ImportServer(const ListValue* args);
95 void ImportServerFileSelected(const FilePath& path); 101 void ImportServerFileSelected(const FilePath& path);
96 void ImportServerFileRead(int read_errno, std::string data); 102 void ImportServerFileRead(int read_errno, std::string data);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 gfx::NativeWindow GetParentWindow() const; 139 gfx::NativeWindow GetParentWindow() const;
134 140
135 // The Certificates Manager model 141 // The Certificates Manager model
136 scoped_ptr<CertificateManagerModel> certificate_manager_model_; 142 scoped_ptr<CertificateManagerModel> certificate_manager_model_;
137 143
138 // For multi-step import or export processes, we need to store the path, 144 // For multi-step import or export processes, we need to store the path,
139 // password, etc the user chose while we wait for them to enter a password, 145 // password, etc the user chose while we wait for them to enter a password,
140 // wait for file to be read, etc. 146 // wait for file to be read, etc.
141 FilePath file_path_; 147 FilePath file_path_;
142 string16 password_; 148 string16 password_;
149 std::string file_data_;
143 net::CertificateList selected_cert_list_; 150 net::CertificateList selected_cert_list_;
144 scoped_refptr<SelectFileDialog> select_file_dialog_; 151 scoped_refptr<SelectFileDialog> select_file_dialog_;
152 scoped_refptr<net::CryptoModule> module_;
145 153
146 // Used in reading and writing certificate files. 154 // Used in reading and writing certificate files.
147 CancelableRequestConsumer consumer_; 155 CancelableRequestConsumer consumer_;
148 scoped_refptr<FileAccessProvider> file_access_provider_; 156 scoped_refptr<FileAccessProvider> file_access_provider_;
149 157
150 DISALLOW_COPY_AND_ASSIGN(CertificateManagerHandler); 158 DISALLOW_COPY_AND_ASSIGN(CertificateManagerHandler);
151 }; 159 };
152 160
153 #endif // CHROME_BROWSER_DOM_UI_OPTIONS_CERTIFICATE_MANAGER_HANDLER_H_ 161 #endif // CHROME_BROWSER_DOM_UI_OPTIONS_CERTIFICATE_MANAGER_HANDLER_H_
OLDNEW
« no previous file with comments | « chrome/browser/certificate_manager_model.cc ('k') | chrome/browser/dom_ui/options/certificate_manager_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698