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

Unified Diff: reference_extension/client.js

Issue 6821025: entd: move opencryptoki initialization out of entd (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/entd.git@master
Patch Set: switch to using a flag to expect cryptohome to init pkcs11 Created 9 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « main.cc ('k') | reference_extension/options.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: reference_extension/client.js
diff --git a/reference_extension/client.js b/reference_extension/client.js
index bab4f056e9b1c423615ba608dc696d9e6d778cfa..b2dba2e816ca60f074714e4bb46cb2b3fb782e84 100644
--- a/reference_extension/client.js
+++ b/reference_extension/client.js
@@ -12,6 +12,8 @@ var client = new Object();
*/
client.policyCallbackPort = 5199;
+client.cryptohome_init_pkcs11 = false;
+
/**
* Initialize the client.
*/
@@ -137,6 +139,12 @@ function loadInfo() {
text('Ready').
attr('status', 'green');
+ // Use presence of isTokenReady to determine if
+ // cryptohome_init_pkcs11 is true.
+ // TODO(crosbug.com/14277): Remove this conditional and code
+ // to recognize if TPM has been initialized (only check token).
+ client.cryptohome_init_pkcs11 = 'isTokenReady' in pkcs11;
+
if (retval.data.isLibcrosLoaded && !retval.data.tpm.isEnabled) {
if (!tpmError) {
client.showError("Your TPM is not enabled. Please enable " +
@@ -167,6 +175,19 @@ function loadInfo() {
attr('status', 'red');
tpmError = true;
}
+ } else if (retval.data.isLibcrosLoaded &&
+ client.cryptohome_init_pkcs11 &&
+ !pkcs11.isTokenReady) {
+ if (!tpmError) {
+ client.showAlert('Please wait while your TPM Token is being ' +
+ 'created. This dialog should go away on its ' +
+ 'own when the process completes.', 'Alert',
+ options);
+ $('#entd-message').
+ text('Waiting for TPM Token.').
+ attr('status', 'red');
+ tpmError = true;
+ }
} else {
ready = true;
}
@@ -352,6 +373,7 @@ function installCert(cert, variables) {
*
* This causes the token initialization progress dialog to be shown, and manages
* the asynchronous initialization of a token.
+ * TODO(crosbug.com/14277): Remove token initialization UI.
*/
client.initToken =
function initToken(token, force) {
@@ -922,8 +944,8 @@ function renderToken(token) {
$(li).html(
'<table width="100%">' +
'<tr><td><span class="desc"></span> (<span class="label"></span>)</td>' +
- '<td rowspan="2" width="1%"><button>Initialize</button></td></tr>' +
- '<tr><td class="status"></td></tr></table>');
+ '<td rowspan="2" width="1%"><button class="init-button">Initialize' +
+ '</button></td></tr><tr><td class="status"></td></tr></table>');
$(li).find('button').click(function () {
client.onTokenClick_(client.tokens[token.slotId]);
@@ -965,7 +987,13 @@ function refreshToken(li, token) {
$('.label', li).text(token.label || 'Unlabeled');
$('.status', li).attr('status', color);
$('.status', li).text(status);
- $('button', li).text(color == 'red' ? 'Initialize' : 'Reinitialize');
+ if (client.cryptohome_init_pkcs11) {
+ // If automatic initialization is enabled, do not give the user
+ // the option to initialize.
+ $('.init-button', li).css('display', 'none');
+ } else {
+ $('button', li).text(color == 'red' ? 'Initialize' : 'Reinitialize');
+ }
}
/**
« no previous file with comments | « main.cc ('k') | reference_extension/options.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698