summaryrefslogtreecommitdiffstats
path: root/dogtag/tps-ui/shared/docroot/esc/EnrollPopup.html
diff options
context:
space:
mode:
Diffstat (limited to 'dogtag/tps-ui/shared/docroot/esc/EnrollPopup.html')
-rwxr-xr-xdogtag/tps-ui/shared/docroot/esc/EnrollPopup.html1717
1 files changed, 0 insertions, 1717 deletions
diff --git a/dogtag/tps-ui/shared/docroot/esc/EnrollPopup.html b/dogtag/tps-ui/shared/docroot/esc/EnrollPopup.html
deleted file mode 100755
index ead7db355..000000000
--- a/dogtag/tps-ui/shared/docroot/esc/EnrollPopup.html
+++ /dev/null
@@ -1,1717 +0,0 @@
-<!-- --- BEGIN COPYRIGHT BLOCK ---
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; version 2 of the License.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
- Copyright (C) 2009 Red Hat, Inc.
- All rights reserved.
- --- END COPYRIGHT BLOCK --- -->
-<html>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-
-<head>
-<link rel=stylesheet href="/style.css" type="text/css">
-
-<script language="JavaScript">
-
-//
-// initialize netkey globals
-var netkey;
-var isMSHTML;
-
-
-var keyUITable = new Array();
-var keyTypeTable = new Array();
-var curChildWindow = null;
-
-function getUIForKey(aKeyID)
-{
- return keyUITable[aKeyID];
-
-}
-
-function getTypeForKey(aKeyID)
-{
- return keyTypeTable[aKeyID];
-}
-
-//
-// Determine if we are running MSHTML or GECKO
-//
-if (navigator.userAgent.indexOf("MSIE") != -1) {
- isMSHTML = true;
-} else {
- isMSHTML = false;
-}
-
-
-//
-// Notify callback for GECKO
-//
-function jsNotify() {}
-
-jsNotify.prototype = {
-
- rhNotifyKeyStateChange: function(aKeyType,aKeyID,aKeyState,aData,strData)
- {
- OnCOOLKeyStateChange(aKeyType, aKeyID, aKeyState, aData,strData);
- },
-
- QueryInterface: function(iid)
- {
- <!-- alert("iid: " + iid); -->
- if(!iid.equals(Components.interfaces.rhIKeyNotify) &&
- !iid.equals(Components.interfaces.nsISupports))
- {
- alert("Can't find jsNotify interface");
- throw Components.results.NS_ERROR_NO_INTERFACE;
- }
- return this;
- }
-};
-
-//
-// Attach to the object.
-//
-if (!isMSHTML) {
- // GECKO ONLY initialization
- try {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- netkey = Components.classes["@redhat.com/rhCoolKey"].getService();
- netkey = netkey.QueryInterface(Components.interfaces.rhICoolKey);
- gNotify = new jsNotify;
- netkey.rhCoolKeySetNotifyCallback(gNotify);
- } catch(e) {
- alert("Can't get UniversalXPConnect: " + e);
- }
-} else {
- // MSHTML only initialization
- netkey = external;
-}
-
-//
-// unregister our notify event
-//
-function cleanup()
-{
- if (!isMSHTML) {
- try {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- netkey.rhCoolKeyUnSetNotifyCallback(gNotify);
- } catch(e) {
- alert("Can't get UniversalXPConnect: " + e);
- }
- }
-}
-
-var gScreenName = "";
-var gKeyEnrollmentType = "userKey";
-
-var gCurrentSelectedRow = null;
-
-
-var gCurKeyType = null;
-var gCurKeyID = null;
-
-////////////////////////////////////////////////////////////////
-//
-// Utility functions specific to this page.
-//
-////////////////////////////////////////////////////////////////
-
-
-// List of Error Messages to be printed out
-
-var Status_Messages = new Array(
-
-"Operation Completed Successfully.",
- "Server Error.",
- "Problem communicating with the token.",
- "Problem communicating with the token.",
- "Problem resetting token's pin.",
- "Internal Server Error.",
- "Internal Server Error",
- "Token Enrollment Error.",
- "Problem communicating with the token.",
- "Internal Server Error",
- "Error communicating with the Certificate Authority, try again later.",
- "Internal Server Error.",
- "Error resetting the token's pin.",
- "Internal Server Error.",
- "Authentication Failure, Try Again.",
- "Internal Server Error",
- "Token is disabled, contact technical support.",
- "Problem communicating with the token.",
- "Internal Server Error.",
- "Cannot upgrade token software.",
- "Internal Server Error.",
- "Problem communicating with the token.",
- "Invalid token type.",
- "Invalid token type",
- "Cannot publish.",
- "Cannot communicate with token database, try again later.",
- "Token is disabled, contact techincal support.",
- "Cannot reset pin value for the token, contact technical support.",
- "Connection to server lost.",
- "Cannot create entry for token in database, contact technical support.",
- "No such token state, contact technical support.",
- "Invalid lost token reason, contact technical support.",
- "Token unusable due to compromise,contact technical support.",
- "No such inactive token, contact technical support.",
- "Cannot process more than one active token.",
- "Internal Server Error,contact technical support.",
- "Key Recovery has been processed.",
- "Key Recovery failed, contact technical support.",
- "Cannot operate on token reported lost, contact technical support.",
- "Key archival error, contact technical support.",
- "Problem connecting to the TKS, contact technical support.",
- "Failed to update token database, contact technical support.",
- "Internal certificate revocation error,contact technical support.",
- "User does not own this token, contact technical support."
-);
-
-function GetAuthDataFromPopUp(aKeyType,aKeyID,aUiData)
-{
-
- keyUITable[aKeyID] = aUiData;
- keyTypeTable[aKeyID] = aKeyType;
-
- //alert("GetAuthDataFromPopUp data " + aUiData);
- var child = window.open("/GenericAuth.html",aKeyID,"height=400,width=400");
-
- //alert("Attempted to create child window " + child);
-
- curChildWindow = child;
-
-}
-
-function COOLKeySetDataValue(aKeyType,aKeyID,name,value)
-{
- //alert("In COOLKeySetDataValue aKeyType " + aKeyType + " aKeyID " + aKeyID + " name " + name + " value " + value);
- if(netkey)
- {
- try {
- if(!isMSHTML)
- {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- }
-
- netkey.SetCoolKeyDataValue(aKeyType,aKeyID,name,value);
-
-
- } catch(e) {
- alert("Error Setting data values: " + e);
- }
- }
-
-}
-
-function COOLKeySetTokenPin(pin)
-{
- if(!isMSHTML)
- {
- if(netkey)
- {
- try {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- netkey.SetCoolKeyDataValue(gCurKeyType,gCurKeyID,"TokenPin",pin);
-
-
- } catch(e) {
- alert("Error Setting data values: " + e);
- }
- }
- }
-}
-
-function COOLKeySetUidPassword(uid,pwd)
-{
-
- if(!isMSHTML)
- {
- if(netkey)
- {
-
- try {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-
- netkey.SetCoolKeyDataValue(gCurKeyType,gCurKeyID,"UserId",uid);
-
- netkey.SetCoolKeyDataValue(gCurKeyType,gCurKeyID,"Password",pwd);
-
- } catch(e) {
- alert("Error Setting data values: " + e);
- }
-
- }
-
- }
-
-}
-
-
-function MyGetErrorMessage(status_code)
-{
-
- var result = "Internal Server Error";
-
- if(status_code < 0 && status_code >= Status_Messages.length)
- {
- return result;
-
- }
-
- return Status_Messages[status_code];
-
-}
-
-function KeyToRowID(keyType, keyID)
-{
- return keyType + "--" + keyID;
-}
-
-function RowIDToKeyInfo(rowID)
-{
- return rowID.split("--");
-}
-
-function GetRowForKey(keyType, keyID)
-{
- return document.getElementById(KeyToRowID(keyType, keyID));
-}
-
-function ReportException(msg, e)
-{
- alert(msg + " " + e.description + "(" + e.number + ")");
-}
-
-function GetCOOLKeyStatus(keyType, keyID)
-{
- try {
- if (!isMSHTML) {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- }
- return netkey.GetCoolKeyStatus(keyType, keyID);
- } catch (e) {
- ReportException("netkey.GetCOOLKeyStatus() failed!", e);
- return 0;
- }
-}
-
-function GetCOOLKeyPolicy(keyType, keyID)
-{
- try {
- if (!isMSHTML) {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- }
- return netkey.GetCoolKeyPolicy(keyType, keyID);
- } catch (e) {
- // ReportException("netkey.GetCOOLKeyPolicy() failed!", e);
- return "";
- }
-}
-
-function GetCOOLKeyRequiresAuth(keyType, keyID)
-{
- try {
- if (!isMSHTML) {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- }
- return netkey.GetCoolKeyRequiresAuthentication(keyType, keyID);
- } catch(e) {
- ReportException("netkey.GetCoolKeyRequiresAuthentication() failed!", e);
- return false;
- }
-}
-
-function GetCOOLKeyIsAuthed(keyType, keyID)
-{
- try {
- if (!isMSHTML) {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- }
- return netkey.GetCoolKeyIsAuthenticated(keyType, keyID);
- } catch(e) {
- ReportException("netkey.GetCoolKeyIsAuthenticated() failed!", e);
- return false;
- }
-}
-
-function GetAvailableCOOLKeys()
-{
- try {
- var keyArr;
-
- if (!isMSHTML) {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- var inArray = netkey.GetAvailableCoolKeys( {} );
- keyArr = new Array(inArray.length);
- var i;
-
- for (i=0; i < keyArr.length; i++) {
- keyArr[i] = new Array( "1", inArray[i]);
- }
- } else {
- keyArr = ConvertVariantArrayToJScriptArray(netkey.GetAvailableCoolKeys());
-
- var i;
- for (i=0; i < keyArr.length; i++)
- keyArr[i] = ConvertVariantArrayToJScriptArray(keyArr[i]);
- }
- return keyArr;
- } catch(e) {
- ReportException("netkey.GetAvailableCoolKeys() failed!", e);
- return [];
- }
-}
-
-function ChallengeCOOLKey(keyType, keyID, data)
-{
- try {
- if (!isMSHTML) {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- }
- return ConvertVariantArrayToJScriptArray(netkey.ChallengeCoolKey(keyType, keyID, data));
- } catch(e) {
- ReportException("netkey.ChallengeCoolKey() failed!", e);
- return [];
- }
-}
-
-function EnrollCOOLKey(keyType, keyID, enrollmentType, screenname, pin,screennamepwd,tokencode)
-{
- try {
- if (!isMSHTML) {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- }
- netkey.EnrollCoolKey(keyType, keyID, enrollmentType, screenname, pin,screennamepwd,tokencode);
- } catch(e) {
- ReportException("netkey.EnrollCoolKey() failed!", e);
- return false;
- }
-
- return true;
-}
-
-function GetCOOLKeyIsEnrolled(keyType, keyID)
-{
- try {
- if (!isMSHTML) {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- }
- return netkey.GetCoolKeyIsEnrolled(keyType, keyID);
- } catch(e) {
- ReportException("netkey.GetCoolKeyIsEnrolled() failed!", e);
- return false;
- }
-}
-
-function ResetCOOLKeyPIN(keyType, keyID, screenname, pin,screennamepwd)
-{
- try {
- if (!isMSHTML) {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- }
- netkey.ResetCoolKeyPIN(keyType, keyID, screenname, pin,screennamepwd);
- } catch(e) {
- ReportException("netkey.ResetCoolKeyPIN() failed! Make sure token is properly Enrolled.", e);
- return false;
- }
- return true;
-}
-function FormatCOOLKey(keyType, keyID, type, screenname, pin,screennamepwd,tokencode)
-{
- try {
- if (!isMSHTML) {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- }
- netkey.FormatCoolKey(keyType, keyID, type, screenname, pin,screennamepwd,tokencode);
- } catch(e) {
- ReportException("netkey.FormatCoolKey() failed!", e);
- return false;
- }
- return true;
-}
-
-function CancelCOOLKeyOperation(keyType, keyID)
-{
- try {
- if (!isMSHTML) {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- }
- netkey.CancelCoolKeyOperation(keyType, keyID);
- } catch(e) {
- ReportException("netkey.CancelCoolKeyOperation() failed!", e);
- return false;
- }
- return true;
-}
-
-function BlinkCOOLKey(keyType, keyID, rate, duration)
-{
- try {
- if (!isMSHTML) {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- }
- netkey.BlinkCoolKey(keyType, keyID, rate, duration);
- } catch(e) {
- ReportException("netkey.BlinkCoolKey() failed!", e);
- return false;
- }
- return true;
-}
-
-function RequestServiceTicket(screenName, serviceName)
-{
- try {
- if (!isMSHTML) {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- }
- netkey.RequestServiceTicket(screenName, serviceName);
- } catch(e) {
- ReportException("netkey..RequestServiceTicket() failed!", e);
- return false;
- }
-
- return true;
-}
-
-//
-// MSHTML/GECKO compatibility functions.
-//
-function RemoveRow(table, row)
-{
- if (isMSHTML) {
- row.removeNode(row);
- } else {
- table.deleteRow(row.rowIndex);
- }
-}
-
-function GetCell(row, index)
-{
- var cell;
-
- if (isMSHTML) {
- cell = row.cells(index);
- } else {
- cell = row.cells[index];
- }
- return cell;
-}
-
-function GetNode(parent, index)
-{
- var node;
- if (isMSHTML) {
- node = parent.childNodes(index);
- } else {
- node = parent.childNodes[index];
- }
- return node;
-}
-
-function InsertRow(table)
-{
- var row;
-
- if (isMSHTML) {
- row = table.insertRow();
- } else {
- row = table.insertRow(table.rows.length);
- }
- return row;
-}
-
-function InsertCell(row)
-{
- var cell;
-
- if (isMSHTML) {
- cell = row.insertCell();
- } else {
- cell = row.insertCell(row.cells.length);
- }
- return cell;
-}
-
-function RemoveAllChildNodes(parent)
-{
- var numChildren = parent.childNodes.length;
- var i;
-
- i = numChildren;
- while (numChildren)
- {
- parent.removeChild(GetNode(parent,0));
- numChildren--;
- }
-
-}
-
-
-function UpdateInfoForKeyID(keyType, keyID, keyStatus, reqAuth, isAuthed)
-{
- var row = GetRowForKey(keyType, keyID);
-
- if (!row)
- return;
-
- var cell = GetCell(row,1)
- RemoveAllChildNodes(cell);
- cell.appendChild(document.createTextNode(keyStatus));
-
-// cell = GetCell(row,2);
- // RemoveAllChildNodes(cell);
- // cell.appendChild(document.createTextNode(reqAuth));
-
- // cell = GetCell(row,3);
- // RemoveAllChildNodes(cell);
- // cell.appendChild(document.createTextNode(isAuthed));
-}
-
-function GetStatusForKeyID(keyType, keyID)
-{
- var keyStatus = "BLANK";
-
- var status;
-
- try {
- status = GetCOOLKeyStatus(keyType, keyID);
- } catch(e) {
- status = 0;
- }
-
- switch (status) {
- case 0: // Unavailable
- keyStatus = "UNAVAILABLE";
- break;
- case 1: // AppletNotFound
- keyStatus = "NO APPLET";
- break;
- case 2: // Uninitialized
- keyStatus = "UNINITIALIZED";
- break;
- case 3: // Unknown
- keyStatus = "UNKNOWN";
- break;
- case 4: // Available
- case 6: // UnblockInProgress
- case 7: // PINResetInProgress
- case 8: // RenewInProgress
- keyStatus = PolicyToKeyType(GetCOOLKeyPolicy(keyType, keyID));
- break;
- case 5: // EnrollmentInProgress
- keyStatus = "BUSY";
- break;
- break;
- case 9: // FormatInProgress
- keyStatus = "BUSY";
- break;
- }
-
- return keyStatus;
-}
-
-function GetKeyStatusForKeyID(keyType, keyID)
-{
- var row = GetRowForKey(keyType, keyID);
-
- if (!row)
- return "UNKNOWN";
-
- var cell = GetCell(row,1);
- return GetNode(cell,0).data;
-}
-
-function InsertCOOLKeyIntoBindingTable(keyType, keyID)
-{
- var row = GetRowForKey(keyType, keyID);
-
- if (!row)
- {
- var table = document.getElementById("BindingTable");
- if (table)
- {
- var keyStatus = GetStatusForKeyID(keyType, keyID);
- var keyReqAuth = BoolToYesNoStr(GetCOOLKeyRequiresAuth(keyType, keyID));
- var keyIsAuthed = BoolToYesNoStr(GetCOOLKeyIsAuthed(keyType, keyID));
-
- row = CreateTableRow(table, keyType, keyID, keyStatus, keyReqAuth, keyIsAuthed);
- }
-
- if (!row)
- return null;
- }
-
- return row;
-}
-
-function ConvertVariantArrayToJScriptArray(varr)
-{
- // C++ native methods, like netkey.GetAvailableCOOLKeys(), can only
- // return variant SafeArrays, so to access the data inside, you must
- // first convert it to a VBArray, and then call toArray() to convert
- // it to a JScript array. Lame, but that's what it takes to
- // use an array returned from an ActiveX component.
-
- return new VBArray(varr).toArray();
-}
-
-function UpdateBindingTableAvailability()
-{
- var arr = GetAvailableCOOLKeys();
-
- if (!arr || arr.length < 1)
- return;
-
- var i;
-
- for (i=0; i < arr.length; i++)
- {
- InsertCOOLKeyIntoBindingTable(arr[i][0], arr[i][1]);
-
- if (!gCurrentSelectedRow)
- SelectRowByKeyID(arr[i][0], arr[i][1]);
- }
-}
-
-function InitializeBindingTable()
-{
- UpdateBindingTableAvailability();
- UpdateButtonStates();
- // document.getElementById("snametf").value = gScreenName;
-}
-
-function KeyIsPresent(keyType, keyID)
-{
- row = document.all.item(keyType, keyID);
-
- if (!row)
- return false;
-
- return true;
-}
-
-function SetStatusMessage(str)
-{
- var cell = document.getElementById("statusMsg");
-
- if (!cell)
- return;
- RemoveAllChildNodes(cell);
- cell.appendChild(document.createTextNode(str));
-}
-
-function UpdateButtonStates()
-{
- if (gKeyEnrollmentType == "deviceKey")
- {
- // document.getElementById("snametf").disabled = true;
- // document.getElementById("pintf").disabled = true;
- // document.getElementById("reenterpintf").disabled = true;
- // document.getElementById("snamepwd").disabled = true;
- }
- else
- {
- // document.getElementById("snametf").disabled = false;
- // document.getElementById("pintf").disabled = false;
- // document.getElementById("reenterpintf").disabled = false;
- // document.getElementById("snamepwd").disabled = false;
- }
-
- if (gCurrentSelectedRow)
- {
- var keyInfo = RowIDToKeyInfo(gCurrentSelectedRow.getAttribute("id"));
- var keyType = keyInfo[0];
- var keyID = keyInfo[1];
- var keyStatus = GetKeyStatusForKeyID(keyType, keyID);
-
- var validKey = (keyStatus == "NETKEY" || keyStatus == "HOUSEKEY");
- // document.getElementById("challengebtn").disabled = !validKey;
- // document.getElementById("blinkbtn").disabled = false;
- document.getElementById("enrollbtn").disabled = false;
- //document.getElementById("formatbtn").disabled = false;
-// document.getElementById("resetpinbtn").disabled = !((keyStatus == "NETKEY") && (gKeyEnrollmentType == "userKey"));
-//document.getElementById("resetpinbtn").disabled = !((gKeyEnrollmentType == "userKey"));
- }
- else
- {
- document.getElementById("enrollbtn").disabled = true;
- //document.getElementById("resetpinbtn").disabled = true;
- //document.getElementById("formatbtn").disabled = true;
- // document.getElementById("challengebtn").disabled = true;
- //document.getElementById("blinkbtn").disabled = true;
- }
-
- refresh();
-}
-
-function SetEnrollmentType(type)
-{
- gKeyEnrollmentType = type;
- UpdateButtonStates();
-}
-
-function FindRow(node)
-{
- while (node && node.tagName != "TR")
- {
- node = node.parentNode;
- }
-
- return node;
-}
-
-function SelectRow(row)
-{
- if (!row || gCurrentSelectedRow == row)
- return;
-
- if (gCurrentSelectedRow)
- gCurrentSelectedRow.removeAttribute("style");
-
- gCurrentSelectedRow = row;
- gCurrentSelectedRow.style.backgroundColor="rgb(200,200,200)";
- UpdateButtonStates();
-}
-
-function SelectRowByKeyID(keyType, keyID)
-{
- var row = GetRowForKey(keyType, keyID);
- SelectRow(row);
-}
-
-function DoSelectRow(event)
-{
- var row;
-
- if (isMSHTML) {
- row = FindRow(window.event.srcElement);
- } else {
- row = FindRow(event.parentNode);
- }
- SelectRow(row);
-}
-
-function KeyToUIString(keyType, keyID)
-{
- // If it's an COOLKey, format the keyID string.
-
- if (keyType == 1 && keyID.length == 20)
- {
- var re = /([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})/i;
- keyID = keyID.replace(re, "$1-$2-$3-$4-$5").toLowerCase();
- }
-
- return keyID;
-}
-
-
-
-function CreateTableRow(table, keyType, keyID, keyStatus, reqAuth, isAuthed)
-{
-
- var row = InsertRow(table);
- if (!row)
- return null;
-
- row.setAttribute("id", KeyToRowID(keyType, keyID));
-
-
- if (isMSHTML) {
- row.onclick = DoSelectRow;
- }
-
- // Create the key ID cell.
- cell = InsertCell(row);
- cell.appendChild(document.createTextNode(KeyToUIString(keyType, keyID)));
-
- cell.setAttribute("onClick", "DoSelectRow(this);");
-
- // Create the keyStatus cell.
- cell = InsertCell(row);
- cell.appendChild(document.createTextNode(keyStatus));
-
- // Create the requires auth cell.
- // cell = InsertCell(row);
- // cell.appendChild(document.createTextNode(reqAuth));
-
- // Create the is auth'ed cell.
- // cell = InsertCell(row);
- //cell.appendChild(document.createTextNode(isAuthed));
-
- // Create the status bar cell
- cell = InsertCell(row);
-
- var progressMeter = document.createElement("div");
- progressMeter.setAttribute("id", KeyToProgressBarID(keyType, keyID));
- progressMeter.className = "ProgressMeter";
- progressMeter.style.width = "100px";
- progressMeter.style.height = "1.5em";
- progressMeter.setAttribute("value", 0);
-
- var progressBar = document.createElement("div");
- progressBar.className = "ProgressBar";
- progressBar.style.width = "0px";
- progressBar.style.height = "100%";
- progressBar.style.visibility = "hidden";
-
- var progressBarStatus = document.createElement("div");
- progressBarStatus.className = "ProgressBarStatus";
- progressBarStatus.appendChild(document.createTextNode(""));
-
- progressMeter.appendChild(progressBar);
- progressMeter.appendChild(progressBarStatus);
- cell.appendChild(progressMeter);
-
- return row;
-}
-
-gAnimationMSecs = 1000/30;
-
-function SetCylonTimer(cylonID, cylonEyeID)
-{
- setTimeout("AnimateCylonStatusBar(\"" + cylonID +
- "\", \"" + cylonEyeID + "\");", gAnimationMSecs);
-}
-
-function AnimateCylonStatusBar(cylonID, cylonEyeID)
-{
- var cylon = document.getElementById(cylonID);
-
- if (!cylon)
- return;
-
- var active = cylon.getAttribute("cylonactive");
-
- if (!active)
- return;
-
- var eye = document.getElementById(cylonEyeID);
-
- if (!eye)
- return;
-
- var dir = eye.getAttribute("direction");
- var wid = parseInt(eye.style.width);
- var cywid = parseInt(cylon.style.width);
- var left = parseInt(eye.style.left);
-
- var dx = 10;
-
- if (!dir || dir >= 0)
- {
- left += dx;
-
- if (left + wid > cywid)
- {
- left = cywid - wid;
- eye.setAttribute("direction", "-1");
- }
- }
- else
- {
- left -= dx;
-
- if (left < 0)
- {
- left = 0;
- eye.setAttribute("direction", "1");
- }
- }
-
- eye.style.left = left + "px";
-
- SetCylonTimer(cylonID, cylonEyeID);
-}
-
-function StartCylonAnimation(cylonID, cylonEyeID)
-{
- var cylon = document.getElementById(cylonID)
-
- if (!cylon)
- return;
-
- var active = cylon.getAttribute("cylonactive");
-
- if (!active)
- {
- cylon.setAttribute("cylonactive", "true");
-
- var eye = document.getElementById(cylonEyeID);
- if (eye)
- {
- eye.style.left = "0px";
- eye.style.visibility = "visible";
- }
-
- SetCylonTimer(cylonID, cylonEyeID);
- }
-}
-
-function StopCylonAnimation(cylonID, cylonEyeID)
-{
- var cylon = document.getElementById(cylonID)
-
- if (cylon)
- cylon.removeAttribute("cylonactive");
-
- var eye = document.getElementById(cylonEyeID);
-
- if (eye)
- eye.style.visibility = "hidden";
-}
-
-function GetProgressMeterValue(progMeterID)
-{
- var progMeter = document.getElementById(progMeterID);
-
- if (!progMeter)
- return -1;
-
- return parseInt(progMeter.getAttribute("value"));
-}
-
-function SetProgressMeterValue(progMeterID, value)
-{
- var progMeter = document.getElementById(progMeterID);
-
- if (!progMeter || value < 0)
- return;
-
- if (value > 100)
- value = 100;
-
- var progBar = progMeter.firstChild;
-
- if (value == 0)
- {
- progBar.style.width = "0px";
- progBar.style.visibility = "hidden";
- progMeter.setAttribute("value", 0);
- return;
- }
-
- progBar.style.visibility = "visible";
-
- var newWidth = parseInt(progMeter.style.width) * value / 100 - 2;
-
- progBar.style.width = newWidth + "px";
- progMeter.setAttribute("value", value);
-}
-
-function SetProgressMeterStatus(progMeterID, statusMsg)
-{
- var progMeter = document.getElementById(progMeterID);
-
- if (!progMeter)
- return;
-
- var progBar = progMeter.firstChild;
-
- // If it exists, the meter status should be
- // div that is the next sibling of the progressMeter.
-
- var meterStatus = progBar.nextSibling;
-
- // Just replace the data in the text node, it's much faster,
- // and reduces flashing!
-
- meterStatus.firstChild.replaceData(0, meterStatus.firstChild.length, statusMsg);
-}
-
-function ClearProgressBar(progMeterID)
-{
- SetProgressMeterValue(progMeterID, 0);
- SetProgressMeterStatus(progMeterID, "");
-}
-
-function KeyToProgressBarID(keyType, keyID)
-{
- return "PM" + keyType + "-" + keyID;
-}
-
-////////////////////////////////////////////////////////////////
-//
-// Functions that contact the server or talk directly to
-// ASC native code.
-//
-// ASC Native Functions:
-//
-// netkey.GetAvailableCOOLKeys()
-//
-// - Returns an ActiveX Variant SafeArray containing the ID for each key
-// that is currentlly plugged into the computer. Before accessing any
-// data in this array you must convert it to a JScript Array with a
-// call to ConvertVariantArrayToJScriptArray().
-//
-// netkey.GetCOOLKeyIsEnrolled(keyType, keyID)
-//
-// - Returns true if a key has been initialized, false if it hasn't.
-// Initialized means the card has been formatted with certificates
-// for either an COOL HouseKey or NetKey.
-//
-// netkey.EnrollCOOLKey(keyType, keyID, enrollmentType, screenName, pin)
-//
-// - Initiates an async connection to the RA to initialize a specific
-// key. If you want the key to be initialized as a HouseKey, you should
-// pass "houseKey" as the enrollmentType, and null values for both
-// screenName and pin. For a NetKey, use "netKey" as the enrollmentType,
-// and pass a valid screenName and pin.
-//
-// netkey.ChallengeCOOLKey(keyType, keyID, data)
-//
-// - Signs some data with the specified key, and returns the results
-// in an AcviteX Variant SafeArray. Before accessing any data in
-// this array, you must convert it to a JScript Array with a
-// call to ConvertVariantArrayToJScriptArray(). The elements in the
-// array are as follows:
-//
-// array[0] --> Length of the signed challenge data in binary form.
-// array[1] --> The signed challenge data as hex.
-// array[0] --> Length of the nonce data in binary form.
-// array[0] --> The nonce data as hex.
-//
-// netkey.BlinkCOOLKey(keyType, keyID, rate, duration)
-//
-// - Make a specific key blink at a given rate for a given duration.
-// rate and duration are specified in milliseconds.
-//
-////////////////////////////////////////////////////////////////
-
-function GetScreenNameValue()
-{
- var sname = document.getElementById("snametf").value;
-
- if (! sname)
- {
- alert("You must provide a valid screen name!");
- return null;
- }
-
- return sname;
-}
-
-function GetPINValue()
-{
- var pinVal = document.getElementById("pintf").value;
- var rpinVal = document.getElementById("reenterpintf").value;
-
- if (! pinVal)
- {
- alert("You must provide a valid Token PIN!");
- return null;
- }
-
- if ( pinVal != rpinVal)
- {
- alert("The PIN values you entered don't match!");
- return null;
- }
-
- return pinVal;
-}
-
-function GetScreenNamePwd()
-{
-
- var pwd = document.getElementById("snamepwd").value;
-
- if(!pwd)
- {
- alert("You must provide a valid User Password!");
- return null;
- }
- return pwd;
-}
-
-function GetTokenCode()
-{
-
- return null;
-}
-function DoEnrollCOOLKey()
-{
-
- if (!gCurrentSelectedRow)
- {
- alert("Please select a key.");
- return;
- }
-
- if(!Validate())
- return;
-
- var keyInfo = RowIDToKeyInfo(gCurrentSelectedRow.getAttribute("id"));
- var keyType = keyInfo[0];
- var keyID = keyInfo[1];
-
- var type = gKeyEnrollmentType;
- var screenname = null;
- var pin = null;
-
- var screennamepwd = null;
- var tokencode = null;
-
- if (type == "userKey")
- {
- screenname = null; //GetScreenNameValue();
-
- pin = GetPINValue();
-
-
- screennamepwd = null; // GetScreenNamePwd();
-
-
- tokencode = GetTokenCode();
-
- SetStatusMessage("Enrolling UserKey \"" + KeyToUIString(keyType, keyID) + "\"...");
- }
- else
- SetStatusMessage("Enrolling DeviceKey \"" + KeyToUIString(keyType, keyID) + "\"...");
-
- StartCylonAnimation("cylon1", "eye1");
-
- if (!EnrollCOOLKey(keyType, keyID, type, screenname, pin,screennamepwd,tokencode))
- {
- SetStatusMessage("");
- StopCylonAnimation("cylon1", "eye1");
- }
-}
-
-function DoResetSelectedCOOLKeyPIN()
-{
- if (!gCurrentSelectedRow)
- return;
-
- if(!Validate())
- return;
-
- //alert("In DoResetSelectedCOOLKeyPIN!");
- var keyInfo = RowIDToKeyInfo(gCurrentSelectedRow.getAttribute("id"));
- var keyType = keyInfo[0];
- var keyID = keyInfo[1];
-
- var screenname = null;
- var pin = null;
- var screennamepwd = null;
-
- if (GetCOOLKeyIsEnrolled(keyType, keyID))
- {
-
- SetStatusMessage("Resetting PIN for \"" + keyID + "\"...");
- StartCylonAnimation("cylon1", "eye1");
-
- if (!ResetCOOLKeyPIN(keyType, keyID, screenname, pin,screennamepwd))
- {
- SetStatusMessage("");
- StopCylonAnimation("cylon1", "eye1");
- }
- }
-}
-
-function DoFormatCOOLKey()
-{
- if (!gCurrentSelectedRow)
- return;
-
-
- if(!Validate())
- return;
-
-
- var keyInfo = RowIDToKeyInfo(gCurrentSelectedRow.getAttribute("id"));
- var keyType = keyInfo[0];
- var keyID = keyInfo[1];
-
- var type = gKeyEnrollmentType;
- var screenname = null;
- var pin = null;
-
- var screennamepwd = null;
- var tokencode = null;
-
- SetStatusMessage("Formatting \"" + KeyToUIString(keyType, keyID) + "\" ...");
- StartCylonAnimation("cylon1", "eye1");
-
- if (!FormatCOOLKey(keyType, keyID, type, screenname, pin,screennamepwd,tokencode))
- {
- SetStatusMessage("");
- StopCylonAnimation("cylon1", "eye1");
- }
-}
-function DoCancelOperation()
-{
-
- if (!gCurrentSelectedRow)
- return;
-
- var keyInfo = RowIDToKeyInfo(gCurrentSelectedRow.getAttribute("id"));
- var keyType = keyInfo[0];
- var keyID = keyInfo[1];
-
- SetStatusMessage("Cancel operation for \"" + KeyToUIString(keyType, keyID) + "\" ...");
- StartCylonAnimation("cylon1", "eye1");
-
- CancelCOOLKeyOperation(keyType, keyID);
-
- SetStatusMessage("");
- StopCylonAnimation("cylon1", "eye1");
-}
-
-function DoChallengeSelectedKey()
-{
- if (!gCurrentSelectedRow)
- return;
-
- var keyInfo = RowIDToKeyInfo(gCurrentSelectedRow.getAttribute("id"));
- var keyType = keyInfo[0];
- var keyID = keyInfo[1];
-
- if (!keyID)
- return;
-
- SetStatusMessage("Generating Challenge ...");
-
- var challengeArray = ChallengeCOOLKey(keyType, keyID, document.forms[0].challengedata.value);
-
- if (challengeArray.length != 4)
- {
- alert("Challenge for key \"" + KeyToUIString(keyType, keyID) + "\" failed!");
- SetStatusMessage("");
- return;
- }
-
- alert("ChallengeCOOLKey(\""+ KeyToUIString(keyType, keyID) + "\") returned:\n\n" +
- "challenge[0]: " + challengeArray[0] + "\n" +
- "challenge[1]: " + challengeArray[1] + "\n" +
- "challenge[2]: " + challengeArray[2] + "\n" +
- "challenge[3]: " + challengeArray[3] + "\n");
-
- SetStatusMessage("");
-}
-
-function DoBlinkCOOLKey()
-{
- if (!gCurrentSelectedRow)
- return;
-
- var keyInfo = RowIDToKeyInfo(gCurrentSelectedRow.getAttribute("id"));
- var keyType = keyInfo[0];
- var keyID = keyInfo[1];
-
- if (!keyID)
- return;
-
- SetStatusMessage("Blinking \"" + KeyToUIString(keyType, keyID) + "\" ...");
- StartCylonAnimation("cylon1", "eye1");
-
- BlinkCOOLKey(keyType, keyID, 400, 5000);
-
- StopCylonAnimation("cylon1", "eye1");
- SetStatusMessage("");
-}
-
-function OnCOOLKeyBlinkComplete(keyType,keyID)
-{
- //StopCylonAnimation("cylon1", "eye1");
- //SetStatusMessage(" ");
-}
-
-function DoHelp()
-{
- if (!gCurrentSelectedRow)
- return;
-
- var keyInfo = RowIDToKeyInfo(gCurrentSelectedRow.getAttribute("id"));
- var keyType = keyInfo[0];
- var keyID = keyInfo[1];
-
- if (!keyID)
- return;
-
- var policy = GetCOOLKeyPolicy(keyType, keyID);
- var type = PolicyToKeyType(policy);
- alert("Policy: " + policy + "\n" + "Type: " + type);
-}
-
-////////////////////////////////////////////////////////////////
-//
-// Functions called directly from ASC native code.
-//
-////////////////////////////////////////////////////////////////
-
-function OnCOOLKeyInserted(keyType, keyID)
-{
- var row = InsertCOOLKeyIntoBindingTable(keyType, keyID);
-
- if (!gCurrentSelectedRow)
- SelectRowByKeyID(keyType, keyID);
-}
-
-
-function OnCOOLKeyRemoved(keyType, keyID)
-{
- var row = GetRowForKey(keyType, keyID);
- var table = document.getElementById("BindingTable");
-
- if (row && table)
- {
- RemoveRow(table,row);
-
- if (row == gCurrentSelectedRow)
- gCurrentSelectedRow = null;
- }
-
- UpdateButtonStates();
-}
-
-var gKnownPolicies = [
-
- // OID Value, precedence, name value
-
- [ "OID.1.3.6.1.4.1.1066.1.1000.1.0.1.1", 1, "HOUSEKEY" ], // Bronze - HouseKey
- [ "OID.1.3.6.1.4.1.1066.1.1000.1.0.1.2", 2, "NETKEY" ], // Silver - Member
- [ "OID.1.3.6.1.4.1.1066.1.1000.1.0.1.3", 3, "NETKEY" ], // Gold - Associate
- [ "OID.1.3.6.1.4.1.1066.1.1000.1.0.1.4", 4, "NETKEY" ], // Platinum - MyDoctor
-
- // XXX: Remove the Old OIDs below, after the RA starts generating
- // certificates with the OIDs listed above!
- [ "OID.1.3.6.1.4.1.1066.1.1000.2.1", 1, "HOUSEKEY" ], // Bronze - HouseKey
- [ "OID.1.3.6.1.4.1.1066.1.1000.2.2", 2, "NETKEY" ], // Silver - Member
- [ "OID.1.3.6.1.4.1.1066.1.1000.2.3", 3, "NETKEY" ], // Gold - Associate
- [ "OID.1.3.6.1.4.1.1066.1.1000.2.4", 4, "NETKEY" ] // Platinum - MyDoctor
-];
-
-function PolicyToKeyType(policy)
-{
- return "ENROLLED";
-}
-
-function OldPolicyToKeyType(policy)
-{
- var i, j;
-
- var knownPoliciesIndex = -1;
-
-
- var policies;
-
-
- if (policy.indexOf(",")== -1)
- {
- policies = new Array(1);
- policies[0] = policy;
- }
- else
- {
- policies = policy.split(",");
- }
-
- for (j = 0; j < policies.length; j++)
- {
- for (i = 0; i < gKnownPolicies.length; i++)
- {
- if (gKnownPolicies[i][0] == policies[j])
- {
- if (knownPoliciesIndex < gKnownPolicies[i][1])
- knownPoliciesIndex = i;
- }
- }
- }
-
- if (knownPoliciesIndex == -1)
- return "INITIALIZED";
-
- return gKnownPolicies[knownPoliciesIndex][2];
-}
-
-function BoolToYesNoStr(b)
-{
- if (b)
- return "YES";
- return "NO";
-}
-
-function OnCOOLKeyEnrollmentComplete(keyType, keyID)
-{
- var keyStatus = PolicyToKeyType(GetCOOLKeyPolicy(keyType, keyID));
- var keyReqAuth = BoolToYesNoStr(GetCOOLKeyRequiresAuth(keyType, keyID));
- var keyIsAuthed = BoolToYesNoStr(GetCOOLKeyIsAuthed(keyType, keyID));
-
- UpdateInfoForKeyID(keyType, keyID, keyStatus, keyReqAuth, keyIsAuthed);
- UpdateButtonStates();
-
- StopCylonAnimation("cylon1", "eye1");
- SetStatusMessage("");
- alert("Enrollment for \"" + KeyToUIString(keyType, keyID) + "\" was successful!");
- ClearProgressBar(KeyToProgressBarID(keyType, keyID));
-}
-
-function OnCOOLKeyPINResetComplete(keyType, keyID)
-{
- var keyStatus = PolicyToKeyType(GetCOOLKeyPolicy(keyType, keyID));
- var keyReqAuth = BoolToYesNoStr(GetCOOLKeyRequiresAuth(keyType, keyID));
- var keyIsAuthed = BoolToYesNoStr(GetCOOLKeyIsAuthed(keyType, keyID));
-
- UpdateInfoForKeyID(keyType, keyID, keyStatus, keyReqAuth, keyIsAuthed);
- UpdateButtonStates();
-
- StopCylonAnimation("cylon1", "eye1");
- SetStatusMessage("");
- alert("PIN Reset was successful!");
- ClearProgressBar(KeyToProgressBarID(keyType, keyID));
-}
-
-function OnCOOLKeyFormatComplete(keyType, keyID)
-{
- var keyStatus = GetStatusForKeyID(keyType, keyID);
- var keyReqAuth = BoolToYesNoStr(GetCOOLKeyRequiresAuth(keyType, keyID));
- var keyIsAuthed = BoolToYesNoStr(GetCOOLKeyIsAuthed(keyType, keyID));
-
- UpdateInfoForKeyID(keyType, keyID, keyStatus, keyReqAuth, keyIsAuthed);
-
- StopCylonAnimation("cylon1", "eye1");
- SetStatusMessage("");
- alert("Format of \"" + KeyToUIString(keyType, keyID)+ "\" was successful!");
- ClearProgressBar(KeyToProgressBarID(keyType, keyID));
-}
-
-function OnCOOLKeyStateError(keyType, keyID, keyState, errorCode)
-{
- var keyStatus = GetStatusForKeyID(keyType, keyID);
- var keyReqAuth = BoolToYesNoStr(GetCOOLKeyRequiresAuth(keyType, keyID));
- var keyIsAuthed = BoolToYesNoStr(GetCOOLKeyIsAuthed(keyType, keyID));
-
- if(curChildWindow)
- {
- curChildWindow.close();
- curChildWindow = null;
-
- }
-
- UpdateInfoForKeyID(keyType, keyID, keyStatus, keyReqAuth, keyIsAuthed);
-
- StopCylonAnimation("cylon1", "eye1");
- SetStatusMessage("");
-
- var typeStr = "Error(" + errorCode + ")";
-
- var messageStr = " \n\n Server Response: " + MyGetErrorMessage(errorCode) ;
-
- var keyIDStr = KeyToUIString(keyType, keyID);
-
- if (keyState == 1004)
- typeStr = "Enrollment of key (" + keyIDStr + ") failed. " + typeStr + messageStr ;
- else if (keyState == 1016)
- typeStr = "Formatting of key (" + keyIDStr + ") failed. " + typeStr + messageStr;
- else if (keyState == 1010)
- typeStr = "PIN Reset for key (" + keyIDStr + ") failed. " + typeStr + messageStr;
- else if (keyState == 1020)
- typeStr = "Operation for key (" + keyIDStr + ") canceled.";
-
- alert(typeStr);
- ClearProgressBar(KeyToProgressBarID(keyType, keyID));
-}
-
-function OnCOOLKeyStatusUpdate(progMeterID, statusUpdate)
-{
- SetProgressMeterValue(progMeterID, statusUpdate);
- SetProgressMeterStatus(progMeterID, statusUpdate + "%");
-}
-
-function Validate()
-{
-
- var type = gKeyEnrollmentType;
- var screenname = null;
- var pin = null;
-
- var screennamepwd = null;
- var tokencode = null;
-
- if (type == "userKey")
- {
-// screenname = GetScreenNameValue();
-// if (! screenname)
- // return 0;
-
- pin = GetPINValue();
-
- if (! pin)
- return 0;
-
-// screennamepwd = GetScreenNamePwd();
-
-// if(! screennamepwd)
- // return 0;
-
- }
-
- return 1;
-}
-
-function OnCOOLKeyStateChange(keyType, keyID, keyState, data,strData)
-{
- // alert("KeyID: " + keyID + "\n" +
- // "KeyState: " + keyState + "\n" +
- // "Data: " + data);
- //alert("State Change ="+keyState);
-
- switch(keyState)
- {
- case 1000: // KeyInserted
- OnCOOLKeyInserted(keyType, keyID);
- break;
- case 1001: // KeyRemoved
- OnCOOLKeyRemoved(keyType, keyID);
- break;
- case 1002: // EnrollmentStart
- // OnCOOLKeyEnrollmentStart(keyType, keyID);
- break;
- case 1003: // EnrollmentComplete
- OnCOOLKeyEnrollmentComplete(keyType, keyID);
- break;
- case 1004: // EnrollmentError
- OnCOOLKeyStateError(keyType, keyID, keyState, data);
- break;
- case 1008: // PINResetStart
- // OnCOOLKeyPINResetStart(keyType, keyID);
- break;
- case 1009: // PINResetComplete
- OnCOOLKeyPINResetComplete(keyType, keyID);
- break;
- case 1010: // PINResetError
- OnCOOLKeyStateError(keyType, keyID, keyState, data);
- break;
- case 1014: // FormatStart
- // OnCOOLKeyFormatStart(keyType, keyID);
- break;
- case 1015: // FormatComplete
- OnCOOLKeyFormatComplete(keyType, keyID);
- break;
- case 1016: // FormatError
- OnCOOLKeyStateError(keyType, keyID, keyState, data);
- break;
- case 1017: // BlinkStatus Update?
- //OnCOOLKeyStateError(keyType, keyID, keyState, data);
- break;
- case 1018:
- OnCOOLKeyBlinkComplete(keyType, keyID);
- break;
- case 1020: // OperationCancelled
- OnCOOLKeyStateError(keyType, keyID, keyState, data);
- break;
- case 1021: // OperationStatusUpdate
- OnCOOLKeyStatusUpdate(KeyToProgressBarID(keyType, keyID), data);
- break;
-
- case 1022: //Need Auth
-
-
- gCurKeyID = keyID;
- gCurKeyType = keyType;
-
- GetAuthDataFromPopUp(keyType,keyID,strData);
-
- break;
-
- }
-}
-
-function refresh()
-{
- window.resizeBy(0,1);
- window.resizeBy(0,-1);
-
-}
-
-</script>
-
-</head>
-<body onload="InitializeBindingTable();" onunload=cleanup()>
-<table width="100%">
- <tr>
- <td>
-<img src="/pki/esc/images/logo.gif">
- </td>
- <td>
- <p class="headerText"><a href="esc.cgi?screenname=">Enterprise Security Client</a></p>
- </td>
- <tr>
-</table>
- <br>
- <table id="BindingTable" width="100%"><tbody>
- <tr id="HeaderRow">
- <th><p class="titleText">Key ID</p></th>
- <th><p class="titleText">Key Status</p></th>
-<!-- <th><p class="titleText">Requires Auth</p></th>
- <th><p class="titleText">Did Auth</p></th>
--->
- <th width="100"><p class="titleText">Progress</p></th>
- </tr>
- </tbody></table>
- <form action="esc.cgi">
- <input type="hidden" id="action" name="action" value="bind">
- <input type="hidden" id="screenname" name="screenname" value="">
- <input type="hidden" id="challengedata" name="challengedata" value="QVNDIHJvY2tzIHRoZSBwYXJ0eSE=">
- <input type="hidden" id="signedchallenge" name="signedchallenge" value="">
- <input type="hidden" id="signedchallengelength" name="signedchallengelength" value="">
- <input type="hidden" id="nonce" name="nonce" value="">
- <input type="hidden" id="noncelength" name="noncelength" value="">
- <input type="hidden" id="keytype" name="keytype" value="">
- <input type="hidden" id="keyid" name="keyid" value="">
- <input type="hidden" id="keylabel" name="keylabel" value="">
- <table width=100%>
- <tr>
- <td class="bodyText">
- Select enrollment type: <input checked type="radio" id="keytype" name="keytype" value="userKey" onClick="SetEnrollmentType('userKey');">UserKey
- </td>
- </tr>
- </table>
- <table>
- <tr>
- <td><p class="bodyText">Token PIN:</p></td>
- <td><input type="password" id="pintf" id="pintf" name="pintf" value=""></td>
- <td><p class="bodyText">Re-Enter PIN:</p></td>
- <td><input type="password" id="reenterpintf" id="reenterpintf" name="reenterpintf" value=""></td>
- </tr>
- </table>
- <br>
- <table width="100%">
- <tr>
- <td valign="center" align="left">
- <input type="button" id="enrollbtn" name="enrollbtn" value="Enroll" onClick="DoEnrollCOOLKey();">
- <input type="button" id="canclebtn" name="canclebtn" value="Cancel" onClick="DoCancelOperation();">
- </td>
- </tr>
- </table>
- <table width="100%">
- <tr>
- <!-- <td valign="center" align="right">
- <h5><a href="esc.cgi?">Enterprise Security Admin Page</a></h5>
- </td> -->
- </tr>
- </table>
- </form>
- <table width="100%">
- <tr>
- <td valign="center" align="left" style="width: 200px;">
- <div id="cylon1" class="cylon" style="width: 200px; height: 10px;">
- <div id="eye1" class="cylonEye" style="top: 0px; left: 0px; width: 28px; height: 8px; visibility: hidden;"></div>
- </div>
- </td>
- <td valign="center" align="left" id="statusMsg"></td>
- </tr>
- </table>
-</body></html>