diff options
Diffstat (limited to 'pki/base/console/src/com/netscape/admin/certsrv/config/install/WISingleSignonPage.java')
-rw-r--r-- | pki/base/console/src/com/netscape/admin/certsrv/config/install/WISingleSignonPage.java | 532 |
1 files changed, 0 insertions, 532 deletions
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/config/install/WISingleSignonPage.java b/pki/base/console/src/com/netscape/admin/certsrv/config/install/WISingleSignonPage.java deleted file mode 100644 index 49e06ac1e..000000000 --- a/pki/base/console/src/com/netscape/admin/certsrv/config/install/WISingleSignonPage.java +++ /dev/null @@ -1,532 +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. -// -// (C) 2007 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.admin.certsrv.config.install; - -import java.io.*; -import java.net.*; -import java.awt.*; -import java.awt.event.*; -import java.util.*; -import javax.swing.*; -import javax.swing.border.*; -import javax.swing.event.*; -import javax.swing.text.*; -import com.netscape.admin.certsrv.*; -import com.netscape.admin.certsrv.connection.*; -import com.netscape.admin.certsrv.wizard.*; -import com.netscape.certsrv.common.*; -import com.netscape.admin.certsrv.config.*; -import com.netscape.admin.certsrv.task.*; -import com.netscape.management.client.console.*; -import com.netscape.management.client.comm.*; -import com.netscape.management.client.util.*; - -/** - * Setup Single Signon for the installation wizard. - * - * @author Christine Ho - * @version $Revision$, $Date$ - * @see com.netscape.admin.certsrv.config.install - */ -class WISingleSignonPage extends WizardBasePanel implements IWizardPanel, CommClient { - - public static final String PW_TAG_INTERNAL_LDAP_DB = "Internal LDAP Database"; - public static final String PW_TAG_INTERNAL_STORAGE_TOKEN = "internal"; - - private Color mActiveColor; - // private JPasswordField mSingleSignonPassword, mSingleSignonPasswordAgain; - private JCheckBox mPasswordConf; - private static final String HELPINDEX = "install-single-signon-wizard-help"; - private static final String PANELNAME = "INSTALLSINGLESIGNON"; - private boolean ca; - private boolean ra; - private boolean kra; - private String mDBPasswd; - private String capassword, rapassword, krapassword, sslpassword; - private JComboBox mTokenBox; - private static final String START_TASK_CGI = "Tasks/Operation/start"; - private static final String PREFIX = "CGITASK"; - private boolean mFinished = false; - protected String mCmd = null; - private String mAdminURL = null; - protected boolean mSuccess = false; - private String mReply = null; - protected String mSection = ""; - protected String mErrorMsg = ""; - private ConsoleInfo _consoleInfo = null; - - WISingleSignonPage(JDialog parent) { - super(PANELNAME); - mParent = parent; - init(); - } - - WISingleSignonPage(JDialog parent, JFrame adminFrame) { - super(PANELNAME); - mParent = parent; - mAdminFrame = adminFrame; - init(); - } - - public boolean isLastPage() { - return false; - } - - public boolean initializePanel(WizardInfo info) { - InstallWizardInfo wizardInfo = (InstallWizardInfo)info; - - String tokenList = wizardInfo.getTokensList(); - StringTokenizer st1 = new StringTokenizer(tokenList, ":"); - - mTokenBox.removeAllItems(); - while (st1.hasMoreElements()) { - String t1 = (String)st1.nextElement(); - mTokenBox.addItem(t1); - } - - mDBPasswd = wizardInfo.getInternalDBPasswd(); - - String tokenname = ""; - String password = ""; - if (wizardInfo.isCAInstalled()) { - tokenname = wizardInfo.getCATokenName(); - password = (String)wizardInfo.get("TOKEN:"+tokenname); - if (password == null || password.equals("")) { - capassword = ""; - } else { - capassword = password; - } - ca = true; - } else { - capassword = ""; - ca = false; - } - - if (wizardInfo.isRAInstalled()) { - tokenname = wizardInfo.getRATokenName(); - password = (String)wizardInfo.get("TOKEN:"+tokenname); - if (password == null || password.equals("")) { - rapassword = ""; - } else { - rapassword = password; - } - ra = true; - } else { - rapassword = ""; - ra = false; - } - - if (wizardInfo.isKRAInstalled()) { - tokenname = wizardInfo.getKRATokenName(); - password = (String)wizardInfo.get("TOKEN:"+tokenname); - if (password == null || password.equals("")) { - krapassword = ""; - } else { - krapassword = password; - } - kra = true; - } else { - krapassword = ""; - kra = false; - } - - tokenname = wizardInfo.getSSLTokenName(); - password = (String)wizardInfo.get("TOKEN:"+tokenname); - if (password == null || password.equals("")) { - sslpassword = ""; - } else { - sslpassword = password; - } - setBorder(makeTitledBorder(PANELNAME)); - return true; - } - - public boolean validatePanel() { - return true; - } - - - /** - * Copy from CGITask.java - */ - public boolean run(String cmd) { - // get the admin URL location first - String mAdminURL = _consoleInfo.getAdminURL(); - if ( mAdminURL == null ) { - return false; - } - - // Allow specifying e.g. "slapd-install" for instance - String instance = (String)_consoleInfo.get( cmd ); - if (instance == null) - instance = (String)_consoleInfo.get( "ServerInstance" ); - String fullCmd = mAdminURL + instance + "/" + cmd; - - HttpManager h = new HttpManager(); - // tell the http manager to use UTF8 encoding - h.setSendUTF8(true); - - try { - mSuccess = false; - mFinished = false; - - // _consoleInfo.get("arguments") is a hashtable of key/value pairs - // to use as the arguments to the CGI - Hashtable args = (Hashtable)_consoleInfo.get("arguments"); - ByteArrayInputStream data = null; - if (args != null && !args.isEmpty()) - data = com.netscape.admin.certsrv.task.CGITask.encode(args); - Debug.println( "Posting " + fullCmd ); - // tell the http manager to notify us immediately of replies - // if we're using async mode - int flags = 0; - if (data == null) - h.post(new URL(fullCmd), this, null, null, 0, flags); - else - h.post(new URL(fullCmd), this, null, data, data.available(), - flags); - awaitSuccess(); - Debug.println( "Command executed: " + fullCmd ); - } catch (Exception e) { - if (e instanceof java.net.ConnectException) { - CMSAdminUtil.showMessageDialog(mResource, - PREFIX, "SERVERDOWN", CMSAdminUtil.ERROR_MESSAGE); - } - Debug.println( "Command " + fullCmd + " failed: " + e ); - } - return mSuccess; - } - - /** - * waiting for the http transaction to be finished. - */ - public synchronized void awaitSuccess() { - while (!mFinished) { - try { - wait(); - } catch (Exception e) { } - } - } - - /** - * http transaction finished, notify the process - */ - public synchronized void finish() { - mFinished = true; - notifyAll(); - } - - /** - * the operation is finished after we receive the http stream - */ - public void replyHandler(InputStream response, CommRecord cr) { - try { - int nBytes = response.available(); - if ( nBytes > 0 ) { - // the response from the DS CGIs will typically be in - // UTF8 encoding - byte[] data = new byte[nBytes]; - nBytes = response.read( data ); - mReply = new String( data, 0, nBytes, "UTF8" ); - Debug.println( "CGITask.replyHandler: Response (" + nBytes + - " bytes) = " + mReply ); - int index = 0; - if ((mReply.indexOf("NMC_") != -1) && - ((index = mReply.indexOf(":")) != -1)) { - String sName = mReply.substring(0, index).trim(); - String sValue = mReply.substring(index+1).trim(); - if (sName.equalsIgnoreCase("NMC_Status")) { - int code = Integer.parseInt(sValue); - mSuccess = (code == 0); - } else if (sName.equalsIgnoreCase("NMC_ERRINFO")) { - mErrorMsg = sValue; } - } - } - } catch ( Exception e ) { - Debug.println( "CGITask.replyHandler: " + e.toString() ); - } - finish(); - } - - /** - * this function will be called if error occurs - */ - public void errorHandler(Exception error, CommRecord cr) { - Debug.println("CGITask.errorHandler: " + error ); - - // this is a hack. now we dont know how to set the timeout period longer. - // We always assume everything is fine so that we can proceed to the next - // config-cert panel. - mSuccess = true; - finish(); - } - - /** - * pass the username to the admin server - */ - public String username(Object authObject, CommRecord cr) { - Debug.println( "username = " + - (String)_consoleInfo.getAuthenticationDN()); - return _consoleInfo.getAuthenticationDN(); - } - - /** - * pass the user password to the admin server - */ - public String password(Object authObject, CommRecord cr) { - Debug.println( "password = " + - (String)_consoleInfo.get( "AdminUserPassword" ) ); - return (String)_consoleInfo.get( "AdminUserPassword" ); - } - /** - * Starts CMS server. - */ - public boolean startServer(InstallWizardInfo info) { - _consoleInfo = info.getAdminConsoleInfo(); - - Hashtable configParams = new Hashtable(); - configParams.put("serverRoot",_consoleInfo.get("serverRoot")); - String servid = (String)_consoleInfo.get("servid"); - int index = servid.indexOf("-"); - if (index != -1) { - servid = servid.substring(index+1); - } - configParams.put("instanceID", servid); - // configParams.put("password", info.getSingleSignOnPassword()); - _consoleInfo.put( "ServerInstance", "cert-" + servid); - _consoleInfo.put("arguments", configParams); - // Debug.println("password "+dialog.getPassword()); - - if (_consoleInfo.get("AdminUsername") == null) { - _consoleInfo.put("AdminUsername", _consoleInfo.getAuthenticationDN() -); - } - Debug.println("AdminUsername = " + _consoleInfo.get("AdminUsername")); - - if (_consoleInfo.get("AdminUserPassword") == null) { - _consoleInfo.put("AdminUserPassword", _consoleInfo.getAuthenticationPassword()); - } - Debug.println("AdminUserPassword = " + _consoleInfo.get("AdminUserPassword")); - // call the CGI program - Debug.println("CMSStart: start() before run task="+START_TASK_CGI); - boolean status; - try { - status = run(START_TASK_CGI); - } catch (Exception e) { - Debug.println("Unexpected Error"+e.toString()); - status = false; - } - Debug.println("CMSStart: start() after run status="+status); - - return true; - } - - public boolean concludePanel(WizardInfo info) { - // Comment out the single signon codes for now. - InstallWizardInfo wizardInfo = (InstallWizardInfo)info; - String rawData = ConfigConstants.TASKID+"="+TaskId.TASK_SINGLE_SIGNON; - rawData = rawData+"&"+ConfigConstants.OPTYPE+"="+OpDef.OP_MODIFY; - String tags = PW_TAG_INTERNAL_LDAP_DB; - rawData = rawData+"&"+PW_TAG_INTERNAL_LDAP_DB+"="+mDBPasswd; - rawData = rawData+"&pwcTokenname="+(String)(mTokenBox.getSelectedItem()); - - String tokenname = ""; - if (!capassword.equals("")) { - tokenname = wizardInfo.getCATokenName(); - rawData = rawData+"&"+tokenname+"="+capassword; - tags = tags+":"+tokenname; - } - - if (!rapassword.equals("")) { - tokenname = wizardInfo.getRATokenName(); - rawData = rawData+"&"+tokenname+"="+rapassword; - tags = tags+":"+tokenname; - } - - if (!krapassword.equals("")) { - tokenname = wizardInfo.getKRATokenName(); - rawData = rawData+"&"+tokenname+"="+krapassword; - tags = tags+":"+tokenname; - } - - if (!sslpassword.equals("")) { - tokenname = wizardInfo.getSSLTokenName(); - rawData = rawData+"&"+tokenname+"="+sslpassword; - tags = tags+":"+tokenname; - } - - if (mPasswordConf.isSelected()) { - rawData = rawData+"&"+ConfigConstants.PR_DELETE_PASSWD_CONF+"="+ - ConfigConstants.TRUE; - } else { - rawData = rawData+"&"+ConfigConstants.PR_DELETE_PASSWD_CONF+"="+ - ConfigConstants.FALSE; - } - rawData = rawData+"&"+ConfigConstants.PR_SINGLE_SIGNON_PW_TAGS+"="+tags; - //data.put(ConfigConstants.PR_SINGLE_SIGNON, ConfigConstants.FALSE); - - startProgressStatus(); - //CMSMessageBox dlg = new CMSMessageBox(mAdminFrame, "CGITASK", "CREATESSON"); - - // boolean ready = send(rawData, wizardInfo); - - boolean ready = true; - if (ready) { - rawData = ConfigConstants.TASKID+"="+TaskId.TASK_MISCELLANEOUS; -/* - data.put(ConfigConstants.PR_ADMIN_PASSWD, - (String)consoleInfo.get(ConfigConstants.PR_ADMIN_PASSWD)); -*/ - ready = send(rawData, wizardInfo); - } else { - String str = getErrorMessage(); - if (str.equals("")) { - String errorMsg = mResource.getString( - PANELNAME+"_ERRORMSG"); - setErrorMessage(errorMsg); - } else - setErrorMessage(str); - //dlg.setVisible(false); - - endProgressStatus(); - return false; - } - - //startServer(wizardInfo); - - //dlg.setVisible(false); - - endProgressStatus(); - - if (!ready) { - String str = getErrorMessage(wizardInfo); - if (str.equals("")) { - String errorMsg = mResource.getString( - PANELNAME+"_ERRORMSG"); - setErrorMessage(errorMsg); - } else - setErrorMessage(str); - } - - return ready; - } - - public void callHelp() { - CMSAdminUtil.help(HELPINDEX); - } - - protected void init() { - GridBagLayout gb = new GridBagLayout(); - GridBagConstraints gbc = new GridBagConstraints(); - setLayout(gb); - - JTextArea desc = createTextArea(mResource.getString( - PANELNAME+"_TEXT_HEADING_LABEL")); - CMSAdminUtil.resetGBC(gbc); - gbc.anchor = gbc.NORTHWEST; - gbc.weightx = 1.0; - gbc.weighty = 0.0; - gbc.insets = new Insets(COMPONENT_SPACE,COMPONENT_SPACE, 0, - COMPONENT_SPACE); - gbc.gridwidth = gbc.REMAINDER; - add(desc, gbc); - -/* - JPanel panel1 = new JPanel(); - GridBagLayout gb1 = new GridBagLayout(); - panel1.setLayout(gb1); - //panel1.setBorder(new EtchedBorder()); - - CMSAdminUtil.resetGBC(gbc); - gbc.anchor = gbc.NORTHWEST; - gbc.gridwidth = gbc.REMAINDER; - gbc.weightx = 1.0; - gbc.insets = new Insets(COMPONENT_SPACE, COMPONENT_SPACE, - COMPONENT_SPACE, COMPONENT_SPACE); - add(panel1, gbc); -*/ - - JTextArea heading = createTextArea(mResource.getString( - PANELNAME+"_TEXT_HEADING1_LABEL")); - CMSAdminUtil.resetGBC(gbc); - gbc.anchor = gbc.NORTHWEST; - //gbc.fill = gbc.NONE; - gbc.weightx = 1.0; - gbc.gridwidth = gbc.REMAINDER; - gbc.insets = new Insets(2*COMPONENT_SPACE, COMPONENT_SPACE, COMPONENT_SPACE, 0); - add(heading, gbc); - - JLabel tokenLbl = makeJLabel("TOKEN"); - CMSAdminUtil.resetGBC(gbc); - gbc.anchor = gbc.NORTHEAST; - gbc.fill = gbc.NONE; - //gbc.gridwidth = gbc.REMAINDER; - gbc.insets = new Insets(COMPONENT_SPACE, 4*COMPONENT_SPACE, 0, COMPONENT_SPACE); - add(tokenLbl, gbc); - - mTokenBox = new JComboBox(); - CMSAdminUtil.resetGBC(gbc); - gbc.anchor = gbc.NORTHWEST; - //gbc.gridwidth = gbc.REMAINDER; - gbc.insets = new Insets(COMPONENT_SPACE, COMPONENT_SPACE, 0, 0); - add(mTokenBox, gbc); - - JLabel dum = new JLabel(" "); - CMSAdminUtil.resetGBC(gbc); - gbc.anchor = gbc.NORTHWEST; - gbc.gridwidth = gbc.REMAINDER; - gbc.fill = gbc.BOTH; - gbc.weightx = 1.0; - gbc.insets = new Insets(COMPONENT_SPACE, COMPONENT_SPACE, 0, 0); - add(dum, gbc); - - JTextArea passwordConfText = createTextArea(mResource.getString( - PANELNAME+"_TEXT_PASSWDCONF_LABEL")); - CMSAdminUtil.resetGBC(gbc); - gbc.anchor = gbc.NORTHWEST; - gbc.weightx = 1.0; - gbc.weighty = 0.0; - gbc.insets = new Insets(4*COMPONENT_SPACE,COMPONENT_SPACE, 0, - COMPONENT_SPACE); - gbc.gridwidth = gbc.REMAINDER; - add(passwordConfText, gbc); - - mPasswordConf = makeJCheckBox("PASSWDCONF"); - CMSAdminUtil.resetGBC(gbc); - gbc.anchor = gbc.NORTHWEST; - gbc.weightx = 1.0; - gbc.weighty = 0.0; - gbc.insets = new Insets(COMPONENT_SPACE,2*COMPONENT_SPACE, 0, - COMPONENT_SPACE); - gbc.gridwidth = gbc.REMAINDER; - add(mPasswordConf, gbc); - - JLabel dummy = new JLabel(" "); - CMSAdminUtil.resetGBC(gbc); - gbc.anchor = gbc.NORTHWEST; - gbc.gridwidth = gbc.REMAINDER; - gbc.gridheight = gbc.REMAINDER; - gbc.fill = gbc.BOTH; - gbc.weightx = 1.0; - gbc.weighty = 1.0; - add(dummy, gbc); - } - - public void getUpdateInfo(WizardInfo info) { - } -} |