summaryrefslogtreecommitdiffstats
path: root/pki/base/console/src/com/netscape/admin/certsrv/security/CertInstallTypePane.java
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/console/src/com/netscape/admin/certsrv/security/CertInstallTypePane.java')
-rw-r--r--pki/base/console/src/com/netscape/admin/certsrv/security/CertInstallTypePane.java296
1 files changed, 296 insertions, 0 deletions
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/security/CertInstallTypePane.java b/pki/base/console/src/com/netscape/admin/certsrv/security/CertInstallTypePane.java
new file mode 100644
index 000000000..a55fce2ec
--- /dev/null
+++ b/pki/base/console/src/com/netscape/admin/certsrv/security/CertInstallTypePane.java
@@ -0,0 +1,296 @@
+// --- 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.security;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.border.*;
+import com.netscape.management.client.util.*;
+import com.netscape.management.nmclf.*;
+
+class CertInstallTypePane extends JPanel implements SuiConstants,
+IKeyCertPage {
+
+ JRadioButton thisServer;
+ JRadioButton certChain;
+ JRadioButton ca;
+
+ JLabel tokenName = new JLabel();
+ SingleBytePasswordField passwd = new SingleBytePasswordField(20);
+ JLabel certName = new JLabel();
+
+ JLabel _certnameLabel;
+ JLabel _tokenLabel;
+ JLabel _certType;
+ JLabel _passwordLabel;
+
+ public static Hashtable param = new Hashtable();
+
+ IWizardControl control;
+ boolean modified = true;
+
+ public JPanel getPanel() {
+ return this;
+ }
+
+ public boolean pageShow(WizardObservable observable) {
+ boolean show =
+ ((Boolean)(observable.get("installCert"))).booleanValue();
+
+ control = (IWizardControl)(observable.get("Wizard"));
+
+ passwd.setText((String)(observable.get("keyPasswd")));
+ if (passwd.getText().length() == 0) {
+ control = (IWizardControl)(observable.get("Wizard"));
+ setEnableNextButton();
+ }
+
+ if (show) {
+ tokenName.setText((String)(observable.get("tokenName")));
+ certName.setText((String)(observable.get("certName")));
+ }
+
+ return show;
+ }
+
+ public boolean pageHide(WizardObservable observable) {
+
+
+ if (modified) {
+ observable.put("keyfilepw", passwd.getText());
+
+ observable.put("CertInstModified", new Boolean(true));
+
+ param.put("certtype" ,
+ thisServer.isSelected() ? "0":
+ (certChain.isSelected() ? "1":"2"));
+ param.put("alias" , observable.get("sie"));
+ param.put("keyfilepw", passwd.getText());
+ observable.put("keyPasswd", passwd.getText());
+
+ if (thisServer.isSelected()) {
+ param.put("certname", (String)(observable.get("certName")));
+ } else {
+ param.remove("certname");
+ }
+
+ modified = false;
+ }
+
+ return true;
+ }
+
+ void setEnableNextButton() {
+ if (passwd.getText().length() == 0) {
+ control.setCanGoForward(false);
+ } else {
+ control.setCanGoForward(true);
+ }
+ }
+
+ class TypeActionListener implements ActionListener, KeyListener {
+ public void keyTyped(KeyEvent e) {}
+ public void keyPressed(KeyEvent e) {}
+ public void keyReleased(KeyEvent e) {
+ modified = true;
+ setEnableNextButton();
+ }
+
+ public void actionPerformed(ActionEvent event) {
+ modified = true;
+
+ if (thisServer.isSelected()) {
+ certName.setVisible(true);
+ _certnameLabel.setVisible(true);
+
+ _passwordLabel.setVisible(true);
+ passwd.setVisible(true);
+
+ setEnableNextButton();
+ } else {
+ certName.setVisible(false);
+ _certnameLabel.setVisible(false);
+
+ _passwordLabel.setVisible(false);
+ passwd.setVisible(false);
+
+ control.setCanGoForward(true);
+ }
+ }
+ }
+
+
+
+ private JPanel getCertTypePane() {
+ JPanel certTypePane = new JPanel();
+ certTypePane.setLayout(new GridBagLayout());
+ int y = 0, x = 0;
+
+ TypeActionListener listener = new TypeActionListener();
+ thisServer.addActionListener(listener);
+ certChain.addActionListener(listener);
+ ca.addActionListener(listener);
+ passwd.addKeyListener(listener);
+
+ GridBagUtil.constrain(certTypePane,
+ Box.createRigidArea(
+ new Dimension(DIFFERENT_COMPONENT_SPACE, 0)), x, y, 1,
+ 1, 0.0, 0.0, GridBagConstraints.NORTH,
+ GridBagConstraints.BOTH, 0, 0, 0, 0);
+
+ GridBagUtil.constrain(certTypePane, new JLabel("1. "), ++x,
+ ++y, 1, 1, 0.0, 0.0, GridBagConstraints.WEST,
+ GridBagConstraints.NONE, 0, 0, 0, 0);
+
+ GridBagUtil.constrain(certTypePane, _certType, ++x, y, 1, 1,
+ 1.0, 0.0, GridBagConstraints.NORTH,
+ GridBagConstraints.BOTH, 0, 0, 0, 0);
+
+ GridBagUtil.constrain(certTypePane, thisServer, x, ++y, 1, 1,
+ 1.0, 0.0, GridBagConstraints.NORTH,
+ GridBagConstraints.BOTH, 0, 0, 0, 0);
+
+ GridBagUtil.constrain(certTypePane, certChain, x, ++y, 1, 1,
+ 1.0, 0.0, GridBagConstraints.NORTH,
+ GridBagConstraints.BOTH, 0, 0, 0, 0);
+
+ GridBagUtil.constrain(certTypePane, ca, x, ++y, 1, 1, 1.0, 0.0,
+ GridBagConstraints.NORTH, GridBagConstraints.BOTH, 0,
+ 0, 0, 0);
+
+ return certTypePane;
+ }
+
+
+
+ private JLabel createRightAlignLabel(String label) {
+ return new JLabel(label, JLabel.RIGHT);
+ }
+
+
+ private JPanel getTokenInfoPane() {
+ JPanel tokenInfoPane = new JPanel();
+ tokenInfoPane.setLayout(new GridBagLayout());
+ int y = 0;
+
+
+ GridBagUtil.constrain(tokenInfoPane, _tokenLabel, 0, y, 1, 1,
+ 0.0, 0.0, GridBagConstraints.NORTH,
+ GridBagConstraints.BOTH, 0, 0, COMPONENT_SPACE, 0);
+
+ GridBagUtil.constrain(tokenInfoPane, tokenName, 1, y, 1, 1,
+ 1.0, 0.0, GridBagConstraints.NORTH,
+ GridBagConstraints.BOTH, 0, DIFFERENT_COMPONENT_SPACE,
+ COMPONENT_SPACE, 0);
+
+ GridBagUtil.constrain(tokenInfoPane, _passwordLabel, 0, ++y, 1,
+ 1, 0.0, 0.0, GridBagConstraints.NORTH,
+ GridBagConstraints.BOTH, 0, 0, COMPONENT_SPACE, 0);
+
+ GridBagUtil.constrain(tokenInfoPane, passwd, 1, y, 1, 1, 1.0,
+ 0.0, GridBagConstraints.NORTH,
+ GridBagConstraints.BOTH, 0, DIFFERENT_COMPONENT_SPACE,
+ COMPONENT_SPACE, 0);
+
+ GridBagUtil.constrain(tokenInfoPane, _certnameLabel, 0, ++y, 1,
+ 1, 0.0, 0.0, GridBagConstraints.NORTH,
+ GridBagConstraints.BOTH, 0, 0, COMPONENT_SPACE, 0);
+
+ GridBagUtil.constrain(tokenInfoPane, certName, 1, y, 1, 1, 1.0,
+ 0.0, GridBagConstraints.NORTH,
+ GridBagConstraints.BOTH, 0, COMPONENT_SPACE,
+ COMPONENT_SPACE, 0);
+
+ return tokenInfoPane;
+ }
+
+
+ public CertInstallTypePane() {
+ super();
+ setLayout(new GridBagLayout());
+
+ ResourceSet resource = KeyCertUtility.getKeyCertWizardResourceSet();
+ thisServer = new JRadioButton(
+ resource.getString("CertInstallTypePane",
+ "thisServerLabel"), true);
+ certChain = new JRadioButton(
+ resource.getString("CertInstallTypePane",
+ "certChainLabel"), false);
+ ca = new JRadioButton(
+ resource.getString("CertInstallTypePane", "caLabel"),
+ false);
+
+ ButtonGroup buttonGroup = new ButtonGroup();
+ buttonGroup.add(thisServer);
+ buttonGroup.add(certChain);
+ buttonGroup.add(ca);
+
+
+ _certnameLabel =
+ new JLabel(resource.getString("CertInstallTypePane", "certnameLabel"));
+ _tokenLabel = createRightAlignLabel(
+ resource.getString("CertInstallTypePane", "tokenLabel"));
+ _certType =
+ new JLabel(resource.getString("CertInstallTypePane", "certType"));
+ _passwordLabel = createRightAlignLabel(
+ resource.getString("CertInstallTypePane", "passwordLabel"));
+
+ setBorder( new TitledBorder( new CompoundBorder(new EtchedBorder(),
+ new EmptyBorder(COMPONENT_SPACE, COMPONENT_SPACE,
+ COMPONENT_SPACE, COMPONENT_SPACE)),
+ resource.getString("CertInstallTypePane", "title")));
+
+ int y = 0;
+
+ GridBagUtil.constrain(this, getCertTypePane(), 0, ++y, 1, 1,
+ 1.0, 0.0, GridBagConstraints.NORTH,
+ GridBagConstraints.BOTH, 0, 0,
+ DIFFERENT_COMPONENT_SPACE, 0);
+
+ GridBagUtil.constrain(this,
+ new JLabel(
+ resource.getString("CertInstallTypePane", "promptPasswd"))
+ , 0, ++y, 1, 1, 0.0, 0.0, GridBagConstraints.WEST,
+ GridBagConstraints.NONE, 0, 0, COMPONENT_SPACE, 0);
+
+ GridBagUtil.constrain(this, getTokenInfoPane(), 0, ++y, 1, 1,
+ 1.0, 0.0, GridBagConstraints.NORTH,
+ GridBagConstraints.BOTH, 0, 0,
+ DIFFERENT_COMPONENT_SPACE, 0);
+
+ GridBagUtil.constrain(this, Box.createVerticalGlue(), 0, ++y,
+ 1, 1, 1.0, 1.0, GridBagConstraints.NORTH,
+ GridBagConstraints.BOTH, 0, 0, 0, 0);
+
+ GridBagUtil.constrain(this,
+ new JLabel(
+ resource.getString(null, "clickNextToContinue")), 0,
+ ++y, 1, 1, 1.0, 0.0, GridBagConstraints.NORTH,
+ GridBagConstraints.BOTH, 0, 0, 0, 0);
+ }
+
+ /*public static void main(String arg[]) {
+ JFrame f = new JFrame();
+ f.getContentPane().add("North", new CertInstallTypePane());
+ f.setSize(400,400);
+ f.show();
+ }*/
+
+}