diff options
Diffstat (limited to 'pki/base/console/src/com/netscape/admin/certsrv/security/CertInfoDialog.java')
-rw-r--r-- | pki/base/console/src/com/netscape/admin/certsrv/security/CertInfoDialog.java | 528 |
1 files changed, 0 insertions, 528 deletions
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/security/CertInfoDialog.java b/pki/base/console/src/com/netscape/admin/certsrv/security/CertInfoDialog.java deleted file mode 100644 index 910d38a9c..000000000 --- a/pki/base/console/src/com/netscape/admin/certsrv/security/CertInfoDialog.java +++ /dev/null @@ -1,528 +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.security; - -import javax.swing.*; -import javax.swing.border.*; - -import java.awt.*; -import java.awt.event.*; -import java.util.*; - -import com.netscape.management.client.console.ConsoleInfo; - - -import com.netscape.management.client.util.*; -import com.netscape.management.nmclf.*; - -/** - * - * UI to display subject and issuer of the certificate, and - * allow user to change trust, delete, or view detail information - * of this certificate - * - * @version 1.0 98/07/10 - * @author shihcm@netscape.com - * @see com.netscape.admin.certsrv.security.CertDetailInfoDialog - * @see com.netscape.admin.certsrv.security.CertInfo - * - */ -class CertInfoDialog extends AbstractDialog implements SuiConstants { - - - /** - * String for trust and none trusted status of the certificate - * String is localized and will be retrived from the properties file - */ - String trustString, notTrustString; - - /** - * Task info, the communication channel that calls the server to execute the cgi - */ - KeyCertTaskInfo _taskInfo; - - - /** - * Certificate information, certificate info used to populate this gui - */ - CertInfo _certInfo; - - /** - * cn of the sie. ie. admin-serv-buddha - * Note that the key & cert db file are named using the sie. - */ - String alias; - - /** - * Properties file, contain all the localized string - */ - ResourceSet resource = new ResourceSet("com.netscape.admin.certsrv.security.CertManagementResource"); - - /** - * After this dilaog is disposed, the routine(CertManagementDialog) that opens this ui will - * need to know whether the cert presented has been deleted and update it's gui accordingly. - */ - static boolean delete = false; - - /** - * Owner of this dialog - */ - JFrame _parent; - - JLabel certName = new JLabel(); - MultilineLabel issuer = new MultilineLabel(6, 5); - MultilineLabel subject = new MultilineLabel(6, 5); - - JButton bDetail; - JButton bDelete; - JButton bTrust; - - JLabel _issuerLabel; - JLabel _subjectLabel; - - /** - * Trust status of the cert that is presented - */ - boolean trustedCert; - - - private boolean promptBeforeDelete() { - return SuiOptionPane.showConfirmDialog(this, - resource.getString("CertInfoDialog", "areYouSure"), - resource.getString("CertInfoDialog", "confirmTitle"), - SuiOptionPane.YES_NO_OPTION) == SuiOptionPane.YES_OPTION; - } - - private void deleteSuccess() { - SuiOptionPane.showMessageDialog(this, - resource.getString("CertInfoDialog", "certDeleted")); - } - - /** - * - * Inner class, where all the action will execute. - * 3 action can be taken on the certificate: Detail, Delete, [Trust|Reject] - * - * Detail: vew other certificate information that is not currently been - * displayed by this dialog - * Delete: Delete certificate from the certificate database - * Trust: Change the certificate's trust status to trust - * Reject: Change the certificate's trust status to do not trust - * - * @see com.netscape.admin.certsrv.security.CertDetailInfoDialog - */ - class CertInfoActionListener implements ActionListener { - public void actionPerformed(ActionEvent e) { - delete = false; - - if (_taskInfo == null) { - if (e.getActionCommand().equals("CLOSE")) { - CertInfoDialog.this.closeInvoked(); - } else if (e.getActionCommand().equals("DELETE")) { - if (promptBeforeDelete()) { - deleteSuccess(); - delete = true; - setVisible(false); - } - } else if (e.getActionCommand().equals("HELP")) { - helpInvoked(); - } - - } else { - if (e.getActionCommand().equals("DETAIL")) { - (new CertDetailInfoDialog(_parent, _certInfo)).show(); - } else if (e.getActionCommand().equals("DELETE")) { - if (!promptBeforeDelete()) { - return; - } - //call delete cert cgi - _taskInfo.clear(); - _taskInfo.put("certnn", _certInfo.getCertName()); - _taskInfo.put("formop", "D"); - _taskInfo.put("alias", alias); - Response response = null; - try { - response = _taskInfo.exec(_taskInfo.SEC_ECRT); - } catch (Exception error) { - SuiOptionPane.showMessageDialog( - UtilConsoleGlobals.getActivatedFrame(), - error.getMessage()); - return; - } - - //if (response.hasCertInfo()) { - if (!(((Message)(response.getMessages().elementAt(0))). - isFailure())) { - deleteSuccess(); - delete = true; - setVisible(false); - } else { - try { - MessageDialog.messageDialog( (Message) - (response.getMessages().elementAt(0))); - } catch (Exception e2) { - //shouldn't even be here in the first place. if cgi fail or return nothing - //then it should be handle right after KeyCertTaskInfo.exec(...) is called - //If exception occure here here then something is really mess up - Debug.println("Error in decoding server messages"); - } - } - } - else if (e.getActionCommand().equals("TRUST")) { - //call trust cert cgi - //need to display a warning message first - _taskInfo.clear(); - _taskInfo.put("certnn", _certInfo.getCertName()); - _taskInfo.put("formop", "C"); - _taskInfo.put("alias", alias); - Response response = null; - try { - response = _taskInfo.exec(_taskInfo.SEC_ECRT); - } catch (Exception error2) { - SuiOptionPane.showMessageDialog( - UtilConsoleGlobals.getActivatedFrame(), - error2.getMessage()); - return; - } - /*if (response.hasCertInfo()) { - setCertInfo(response.getCertInfo()); - }*/ - - try { - if (!(((Message) - (response.getMessages().elementAt(0))). - isFailure())) { - trustedCert = !trustedCert; - bTrust.setText(trustedCert ? - resource.getString("CertInfoDialog", - "reject") : - resource.getString("CertInfoDialog", - "trust")); - } - - MessageDialog.messageDialog( (Message) - (response.getMessages().elementAt(0))); - } catch (Exception e3) { - //shouldn't even be here in the first place. if cgi fail or return nothing - //then it should be handle right after KeyCertTaskInfo.exec(...) is called - //If exception occure here here then something is really mess up. - Debug.println("Error in decoding server messages"); - } - } - } - } - } - - /** - * - * Update certificate information. - * Without disposing the dialog this method allows the reuse the the same dialog - * by repopulating it with new certificate information - * - * @param certInfo contain certificate information to be displayed - * - */ - void setCertInfo(CertInfo certInfo) { - _certInfo = certInfo; - - certName.setText(certInfo.getCertName()); - issuer.setText(certInfo.getIssuer()); - subject.setText(certInfo.getSubject()); - - if (_taskInfo != null) { - trustedCert = certInfo.trusted(); - bTrust.setText(trustedCert ? - resource.getString("CertInfoDialog", "reject") : - resource.getString("CertInfoDialog", "trust")); - } - } - - - /** - * - * Invoke on-line help - * - */ - protected void helpInvoked() { - Help help = new Help(resource); - help.help("CertInfoDialog", "help"); - } - - protected void closeInvoked() { - super.closeInvoked(); - } - - - /** - * - * @return a panel contain subject and issuer - * - * [Panel] - * [Subject] [Issuer] - * [Panel] - * - */ - private JPanel getSubjectIssuerPane() { - JPanel subjectIssuerPane = new JPanel(); - subjectIssuerPane.setLayout(new GridBagLayout()); - - _issuerLabel = - new JLabel(resource.getString("CertInfoDialog", "issuer")); - _subjectLabel = - new JLabel(resource.getString("CertInfoDialog", "subject")); - - //issuer.getCaret().setVisible(false); - //issuer.setSelectionColor(issuer.getBackground()); - //issuer.setEditable(false); - //subject.getCaret().setVisible(false); - //subject.setSelectionColor(issuer.getBackground()); - //subject.setEditable(false); - - GridBagUtil.constrain(subjectIssuerPane, _subjectLabel, 0, 0, - 1, 1, 0.0, 0.0, GridBagConstraints.NORTH, - GridBagConstraints.BOTH, 0, 0, 0, 0); - - GridBagUtil.constrain(subjectIssuerPane, _issuerLabel, 2, 0, 1, - 1, 0.0, 0.0, GridBagConstraints.NORTH, - GridBagConstraints.BOTH, 0, 0, 0, 0); - - GridBagUtil.constrain(subjectIssuerPane, - Box.createRigidArea(new Dimension(COMPONENT_SPACE, 0)) - , 1, 1, 1, 1, 0.0, 0.0, GridBagConstraints.NORTH, - GridBagConstraints.NONE, 0, 0, 0, 0); - - JScrollPane subjectScrollPane = new JScrollPane(subject, - JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, - JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - subjectScrollPane.setBorder( - new CompoundBorder(UITools.createLoweredBorder(), - new EmptyBorder(VERT_COMPONENT_INSET, - HORIZ_COMPONENT_INSET, VERT_COMPONENT_INSET, - HORIZ_COMPONENT_INSET))); - GridBagUtil.constrain(subjectIssuerPane, subjectScrollPane, 0, - 1, 1, 1, 1.0, 0.0, GridBagConstraints.NORTH, - GridBagConstraints.HORIZONTAL, 0, 0, - DIFFERENT_COMPONENT_SPACE, 0); - - JScrollPane issuerScrollPane = new JScrollPane(issuer, - JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, - JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - issuerScrollPane.setBorder( - new CompoundBorder(UITools.createLoweredBorder(), - new EmptyBorder(VERT_COMPONENT_INSET, - HORIZ_COMPONENT_INSET, VERT_COMPONENT_INSET, - HORIZ_COMPONENT_INSET))); - GridBagUtil.constrain(subjectIssuerPane, issuerScrollPane, 2, - 1, 1, 1, 1.0, 0.0, GridBagConstraints.NORTH, - GridBagConstraints.HORIZONTAL, 0, 0, - DIFFERENT_COMPONENT_SPACE, 0); - - return subjectIssuerPane; - } - - /** - * - * @return a panel contain certificate name and what ever was return by getSubjectIssuerPane() - * [PANEL] - * Certificate Name - * getSubjectIssuerPane() - * [PANEL] - * - * @see #getSubjectIssuerPane - */ - private JPanel getInfoPane() { - JPanel infoPane = new JPanel(); - infoPane.setLayout(new GridBagLayout()); - - int y = 0; - - - GridBagUtil.constrain(infoPane, certName, 0, y, 1, 1, 1.0, 0.0, - GridBagConstraints.NORTH, GridBagConstraints.BOTH, - COMPONENT_SPACE, 0, COMPONENT_SPACE, 0); - - - GridBagUtil.constrain(infoPane, getSubjectIssuerPane(), 0, ++y, - 1, 1, 1.0, 0.0, GridBagConstraints.NORTH, - GridBagConstraints.BOTH, 0, 0, 0, 0); - - return infoPane; - } - - - - /** - * - * @return Panel contain a row of button(Delete, View, [Trust|Reject]) - * [PANEL] - * [bDetail] [bDelete] [bTrust|bReject] - * [PANEL] - * - */ - private JPanel getControlPane() { - - JPanel controlPane = new JPanel(); - controlPane.setLayout(new GridBagLayout()); - CertInfoActionListener listener = new CertInfoActionListener(); - - if (_taskInfo == null) { - - GridBagUtil.constrain(controlPane, - JButtonFactory.createCloseButton(listener), 0, 0, - 1, 1, 1.0, 0.0, GridBagConstraints.NORTH, - GridBagConstraints.BOTH, - DIFFERENT_COMPONENT_SPACE, 0, 0, COMPONENT_SPACE); - - GridBagUtil.constrain(controlPane, - JButtonFactory.create( - resource.getString("CertInfoDialog", "delete"), - listener, "DELETE"), 1, 0, 1, 1, 1.0, 0.0, - GridBagConstraints.NORTH, GridBagConstraints.BOTH, - DIFFERENT_COMPONENT_SPACE, 0, 0, COMPONENT_SPACE); - - GridBagUtil.constrain(controlPane, - JButtonFactory.createHelpButton(listener), 2, 0, - 1, 1, 1.0, 0.0, GridBagConstraints.NORTH, - GridBagConstraints.BOTH, - DIFFERENT_COMPONENT_SPACE, 0, 0, 0); - } else { - JPanel certButtonPane = new JPanel(); - //certButtonPane.setLayout(new BoxLayout(certButtonPane, BoxLayout.X_AXIS)); - certButtonPane.setLayout(new GridBagLayout()); - - certButtonPane.setBorder( new TitledBorder( - new CompoundBorder(new EtchedBorder(), - new EmptyBorder(COMPONENT_SPACE, COMPONENT_SPACE, - COMPONENT_SPACE, COMPONENT_SPACE)), - resource.getString("CertInfoDialog", "certificate"))); - - bDetail = JButtonFactory.create( - resource.getString("CertInfoDialog", "detail")); - bDetail.addActionListener(listener); - bDetail.setActionCommand("DETAIL"); - - bDelete = JButtonFactory.create( - resource.getString("CertInfoDialog", "delete")); - bDelete.addActionListener(listener); - bDelete.setActionCommand("DELETE"); - - JButtonFactory.resizeGroup(bDetail, bDelete); - - setTitle(resource.getString("CertInfoDialog", "certificate")); - - //certButtonPane.add(bDetail); - //certButtonPane.add(Box.createRigidArea(new Dimension(COMPONENT_SPACE, 0))); - //certButtonPane.add(bDelete); - GridBagUtil.constrain(certButtonPane, bDetail, 0, 0, 1, 1, - 1.0, 0.0, GridBagConstraints.WEST, - GridBagConstraints.BOTH, 0, 0, 0, 0); - GridBagUtil.constrain(certButtonPane, bDelete, 1, 0, 1, 1, - 1.0, 0.0, GridBagConstraints.EAST, - GridBagConstraints.BOTH, 0, COMPONENT_SPACE, 0, 0); - - JPanel trustCAButtonPane = new JPanel(); - trustCAButtonPane.setLayout(new GridBagLayout()); - trustCAButtonPane.setBorder( new TitledBorder( - new CompoundBorder(new EtchedBorder(), - new EmptyBorder(COMPONENT_SPACE, COMPONENT_SPACE, - COMPONENT_SPACE, COMPONENT_SPACE)), - resource.getString("CertInfoDialog", "trustCA"))); - - - - bTrust = JButtonFactory.create( - resource.getString("CertInfoDialog", "reject")); - bTrust.addActionListener(listener); - bTrust.setActionCommand("TRUST"); - - JButtonFactory.resizeGroup(bTrust, - JButtonFactory.create( - resource.getString("CertInfoDialog", "reject"))); - - //trustCAButtonPane.add(bTrust); - GridBagUtil.constrain(trustCAButtonPane, bTrust, 0, 0, 1, - 1, 1.0, 0.0, GridBagConstraints.WEST, - GridBagConstraints.BOTH, 0, 0, 0, 0); - - GridBagUtil.constrain(controlPane, certButtonPane, 0, 0, 1, - 1, 1.0, 0.0, GridBagConstraints.NORTH, - GridBagConstraints.BOTH, 0, 0, 0, 0); - - GridBagUtil.constrain(controlPane, trustCAButtonPane, 1, 0, - 1, 1, 1.0, 0.0, GridBagConstraints.NORTH, - GridBagConstraints.BOTH, 0, 0, 0, 0); - } - - return controlPane; - } - - - void init(CertInfo certInfo) { - JPanel mainPane = new JPanel(); - mainPane.setBorder( new CompoundBorder(new EtchedBorder(), - new EmptyBorder(COMPONENT_SPACE, COMPONENT_SPACE, - COMPONENT_SPACE, COMPONENT_SPACE))); - mainPane.setLayout(new BorderLayout()); - - mainPane.add("Center", getInfoPane()); - - if (_taskInfo == null) { - getContentPane().add("South", getControlPane()); - } else { - mainPane.add("South", getControlPane()); - } - - getContentPane().add(mainPane); - - setCertInfo(certInfo); - - pack(); - setMinimumSize(getSize()); - setResizable(false); - } - - /** - * - * Construct a certificate information dialog - * - * @param parent the owner of the dialog - * @param certInfo contain certificate information to be displayed - * @param taskInfo task module that carry out the action for change trust, delete, or get certificate information - * - */ - public CertInfoDialog(JFrame parent, CertInfo certInfo, - KeyCertTaskInfo taskInfo) { - super(parent, "", true, CLOSE | HELP); - - _taskInfo = taskInfo; - _parent = parent; - - alias = (String)(taskInfo.get("alias")); - - init(certInfo); - } - - public CertInfoDialog(JFrame parent, CertInfo certInfo) { - super(parent, "", true/*, CLOSE | HELP*/); - - _parent = parent; - - init(certInfo); - } -} - |