From 621d9e5c413e561293d7484b93882d985b3fe15f Mon Sep 17 00:00:00 2001 From: Endi Sukma Dewata Date: Sat, 24 Mar 2012 02:27:47 -0500 Subject: Removed unnecessary pki folder. Previously the source code was located inside a pki folder. This folder was created during svn migration and is no longer needed. This folder has now been removed and the contents have been moved up one level. Ticket #131 --- .../certsrv/managecert/CertificateInfoDialog.java | 351 ++++++++++++++++++++ .../admin/certsrv/managecert/ManageCertDialog.java | 362 +++++++++++++++++++++ .../admin/certsrv/managecert/ManageCertModel.java | 55 ++++ 3 files changed, 768 insertions(+) create mode 100644 base/console/src/com/netscape/admin/certsrv/managecert/CertificateInfoDialog.java create mode 100644 base/console/src/com/netscape/admin/certsrv/managecert/ManageCertDialog.java create mode 100644 base/console/src/com/netscape/admin/certsrv/managecert/ManageCertModel.java (limited to 'base/console/src/com/netscape/admin/certsrv/managecert') diff --git a/base/console/src/com/netscape/admin/certsrv/managecert/CertificateInfoDialog.java b/base/console/src/com/netscape/admin/certsrv/managecert/CertificateInfoDialog.java new file mode 100644 index 000000000..3a5c43705 --- /dev/null +++ b/base/console/src/com/netscape/admin/certsrv/managecert/CertificateInfoDialog.java @@ -0,0 +1,351 @@ +// --- 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.managecert; + +import com.netscape.admin.certsrv.*; +import javax.swing.*; +import java.awt.event.*; +import java.awt.*; +import java.util.*; + +import com.netscape.admin.certsrv.connection.*; +import com.netscape.certsrv.common.*; + +/** + * Certificate Information dialog + * + * @author Christine Ho + * @version $Revision$, $Date$ + * @see com.netscape.admin.certsrv.managecert + */ +public class CertificateInfoDialog extends JDialog + implements ActionListener { + private String PREFIX = "CERTINFODIALOG"; + + private JFrame mParent; + private ResourceBundle mResource; + private JTextArea mTextArea; + private JLabel mCertNameField, mStatusLbl; + private JButton mClose, mHelp, mTrust; + private AdminConnection mConn; + private String mCertName; + private String mCertDate; + private JButton mActionBtn; + private static final String HELPINDEX = + "configuration-managecert-wizard-trustcert-help"; + + JLabel changeLbl = null; + + public CertificateInfoDialog(JFrame parent) { + super(parent,true); + mParent = parent; + mResource = ResourceBundle.getBundle(CMSAdminResources.class.getName()); + setSize(650, 400); + setTitle(mResource.getString(PREFIX+"_TITLE")); + setLocationRelativeTo(parent); + getRootPane().setDoubleBuffered(true); + setDisplay(); + } + + public void showDialog(String name, String content, String trust) { + mCertNameField.setText(name); + mTextArea.setText(content); + String actionStr = ""; + String statusStr = ""; + if (trust.equals("Trust")) { + //mTrust.setText(" Trust "); + actionStr = mResource.getString(PREFIX+"_BUTTON_UNTRUST_LABEL"); + statusStr = mResource.getString(PREFIX+"_LABEL_TRUSTSTATUS_LABEL"); + mActionBtn.setText(actionStr); + mStatusLbl.setText(statusStr); + } else if (trust.equals("Untrust")){ + //mTrust.setText(trust); + actionStr = mResource.getString(PREFIX+"_BUTTON_TRUST_LABEL"); + statusStr = mResource.getString(PREFIX+"_LABEL_UNTRUSTSTATUS_LABEL"); + mActionBtn.setText(actionStr); + mStatusLbl.setText(statusStr); + } else { /* user certs can't be changed */ + actionStr = mResource.getString(PREFIX+"_BUTTON_USER_LABEL"); + statusStr = mResource.getString(PREFIX+"_LABEL_USER_LABEL"); + mActionBtn.setText(actionStr); + mActionBtn.setEnabled(false); + mStatusLbl.setText(statusStr); + changeLbl.setEnabled(false); + } + this.show(); + } + + public void showDialog(String name, String content, String trust, + String date, AdminConnection conn) { + mConn = conn; + mCertName = name; + mCertDate = date; + showDialog(name, content, trust); + } + + public void actionPerformed(ActionEvent evt) { + if (evt.getSource().equals(mClose)) { + this.hide(); + this.dispose(); + } else if (evt.getSource().equals(mActionBtn)) { + String trustLbl = mActionBtn.getText().trim(); + String trustaction = mResource.getString(PREFIX+"_BUTTON_TRUST_LABEL"); + String untrustaction = mResource.getString(PREFIX+"_BUTTON_UNTRUST_LABEL"); + String trust = ""; + if (trustLbl.equals(trustaction)) + trust = "Trust"; + else if (trustLbl.equals(untrustaction)) + trust = "Untrust"; + else // user certs not to be changable + return; + + NameValuePairs nvps = new NameValuePairs(); + String value = mCertName+";"+mCertDate; + nvps.put("certName0", value); + + try { + mConn.modify(DestDef.DEST_SERVER_ADMIN, ScopeDef.SC_TRUST, + trust, nvps); + String actionStr = ""; + String statusStr = ""; + if (trust.equals("Trust")) { + actionStr = mResource.getString(PREFIX+"_BUTTON_UNTRUST_LABEL"); + statusStr = mResource.getString(PREFIX+"_LABEL_TRUSTSTATUS_LABEL"); + } else { + actionStr = mResource.getString(PREFIX+"_BUTTON_TRUST_LABEL"); + statusStr = mResource.getString(PREFIX+"_LABEL_UNTRUSTSTATUS_LABEL"); + } + + mActionBtn.setText(actionStr); + mStatusLbl.setText(statusStr); + } catch (EAdminException ex) { + CMSAdminUtil.showErrorDialog(mParent, mResource, ex.toString(), + CMSAdminUtil.ERROR_MESSAGE); + } + } else if (evt.getSource().equals(mHelp)) { + CMSAdminUtil.help(HELPINDEX); + } + } + +/* + private void refresh() { + try { + NameValuePairs results = mConn.process( + DestDef.DEST_SERVER_ADMIN, ScopeDef.SC_CERT_PRETTY_PRINT, + Constants.RS_ID_CONFIG, nvps); + if (nvps.size() <= 0) + return; + NameValuePair nvp = results.elementAt(0); + String name = nvp.getName(); + String value = nvp.getValue(); + CertificateInfoDialog dialog = new CertificateInfoDialog(mParent); + dialog.showDialog(name, value); + } catch (EAdminException ex) { + CMSAdminUtil.showErrorDialog(mParent, mResource, ex.toString(), + CMSAdminUtil.ERROR_MESSAGE); + } + } +*/ + + private void setDisplay() { + getContentPane().setLayout(new BorderLayout()); + JPanel center = new JPanel(); + GridBagLayout gb = new GridBagLayout(); + GridBagConstraints gbc = new GridBagConstraints(); + center.setLayout(gb); + + //content panel + JPanel content = makeContentPane(); + CMSAdminUtil.resetGBC(gbc); + gbc.fill = gbc.BOTH; + gbc.anchor = gbc.NORTH; + gbc.gridwidth = gbc.REMAINDER; + gbc.weightx = 1.0; + gbc.weighty = 1.0; + gb.setConstraints(content, gbc); + center.add(content); + + //action panel + JPanel action = makeActionPane(); + CMSAdminUtil.resetGBC(gbc); + gbc.anchor = gbc.NORTH; + gbc.gridwidth = gbc.REMAINDER; + gbc.gridheight = gbc.REMAINDER; + gbc.weightx = 1.0; + gb.setConstraints(action, gbc); + center.add(action); + + getContentPane().add("Center",center); + } + + private JPanel makeActionPane() { + mClose = CMSAdminUtil.makeJButton(mResource, PREFIX, "CLOSE", + null, this); + + mHelp = CMSAdminUtil.makeJButton(mResource, PREFIX, "HELP", null, this); + Dimension d = mClose.getMinimumSize(); + if (d.width < CMSAdminUtil.DEFAULT_BUTTON_SIZE) { + d.width = CMSAdminUtil.DEFAULT_BUTTON_SIZE; + mClose.setMinimumSize(d); + } + d = mHelp.getMinimumSize(); + if (d.width < CMSAdminUtil.DEFAULT_BUTTON_SIZE) { + d.width = CMSAdminUtil.DEFAULT_BUTTON_SIZE; + mHelp.setMinimumSize(d); + } + //JButton[] buttons = {mClose, mHelp}; + JButton[] buttons = {mClose}; + return CMSAdminUtil.makeJButtonPanel( buttons ); + } + + private JPanel makeContentPane() { + JPanel content = new JPanel(); + GridBagLayout gb3 = new GridBagLayout(); + GridBagConstraints gbc = new GridBagConstraints(); + content.setLayout(gb3); + content.setBorder(CMSAdminUtil.makeTitledBorder(mResource, + "CERTINFODIALOG", "CERT")); + + JPanel panel = new JPanel(); + GridBagLayout gb = new GridBagLayout(); + panel.setLayout(gb); + + CMSAdminUtil.resetGBC(gbc); + gbc.insets = new Insets(0, 0, 0, 0); + gbc.gridwidth = gbc.REMAINDER; + gbc.fill = gbc.BOTH; + content.add(panel, gbc); + + CMSAdminUtil.resetGBC(gbc); + JLabel label1 = CMSAdminUtil.makeJLabel(mResource, PREFIX, "CERTNAME", + null); + gbc.fill = gbc.NONE; + gbc.anchor = gbc.EAST; + gbc.insets = new Insets(CMSAdminUtil.COMPONENT_SPACE, + 0, //CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE, CMSAdminUtil.COMPONENT_SPACE); + gb.setConstraints(label1, gbc); + panel.add(label1); + + CMSAdminUtil.resetGBC(gbc); + mCertNameField = new JLabel(" "); + gbc.gridwidth = gbc.REMAINDER; + gbc.anchor = gbc.WEST; + gbc.weightx=1.0; + //gbc.fill = gbc.NONE; + gbc.insets = new Insets(CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE, CMSAdminUtil.COMPONENT_SPACE); + gb.setConstraints(mCertNameField, gbc); + panel.add(mCertNameField); + + + //CMSAdminUtil.addEntryField(content, label1, mCertNameField, gbc); + + CMSAdminUtil.resetGBC(gbc); + JLabel label2 = CMSAdminUtil.makeJLabel(mResource, PREFIX, "CONTENT", null); + gbc.fill = gbc.NONE; + gbc.anchor = gbc.WEST; + //gbc.gridwidth = gbc.REMAINDER; + gbc.insets = new Insets(0, + CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE, CMSAdminUtil.COMPONENT_SPACE); + gb.setConstraints(label2, gbc); + panel.add(label2); + + CMSAdminUtil.resetGBC(gbc); + JLabel label3 = new JLabel(" "); + //gbc.fill = gbc.NONE; + gbc.weightx = 1.0; + gbc.anchor = gbc.WEST; + gbc.gridwidth = gbc.REMAINDER; + gbc.gridheight = gbc.REMAINDER; + gbc.insets = new Insets(0, + CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE, CMSAdminUtil.COMPONENT_SPACE); + gb.setConstraints(label3, gbc); + panel.add(label3); + + CMSAdminUtil.resetGBC(gbc); + mTextArea = new JTextArea("",100,90); + mTextArea.setEditable(false); + mTextArea.setBackground(getBackground()); + JScrollPane scrollPanel = new JScrollPane(mTextArea, + JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, + JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); + scrollPanel.setAlignmentX(LEFT_ALIGNMENT); + scrollPanel.setAlignmentY(TOP_ALIGNMENT); + scrollPanel.setBorder(BorderFactory.createLoweredBevelBorder()); + gbc.fill = gbc.BOTH; + gbc.gridwidth = gbc.REMAINDER; +// gbc.gridheight = gbc.REMAINDER; + gbc.weightx=1.0; + gbc.weighty=1.0; + gbc.insets = new Insets(0, + CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE, CMSAdminUtil.COMPONENT_SPACE); + gb3.setConstraints(scrollPanel, gbc); + content.add(scrollPanel); + + CMSAdminUtil.resetGBC(gbc); + mStatusLbl = CMSAdminUtil.makeJLabel(mResource, PREFIX, "TRUSTSTATUS", null); + gbc.anchor = gbc.WEST; + gbc.gridwidth = gbc.REMAINDER; + gbc.insets = new Insets(0, + CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE, CMSAdminUtil.COMPONENT_SPACE); + gb3.setConstraints(mStatusLbl, gbc); + content.add(mStatusLbl); + + CMSAdminUtil.resetGBC(gbc); + changeLbl = CMSAdminUtil.makeJLabel(mResource, PREFIX, "MODIFY", null); + gbc.anchor = gbc.WEST; + gbc.insets = new Insets(0, + CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE, CMSAdminUtil.COMPONENT_SPACE); + gb3.setConstraints(changeLbl, gbc); + content.add(changeLbl); + + CMSAdminUtil.resetGBC(gbc); + mActionBtn = CMSAdminUtil.makeJButton(mResource, PREFIX,"UNTRUST", null, this); + gbc.anchor = gbc.WEST; + gbc.insets = new Insets(0, + CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE, CMSAdminUtil.COMPONENT_SPACE); + gbc.gridwidth = gbc.REMAINDER; + gbc.gridheight = gbc.REMAINDER; + gbc.fill = gbc.NONE; + gb3.setConstraints(mActionBtn, gbc); + content.add(mActionBtn); +/* + CMSAdminUtil.resetGBC(gbc); + mTrust = CMSAdminUtil.makeJButton(mResource, PREFIX, "TRUST", null, this); + gbc.fill = gbc.NONE; + gbc.anchor = gbc.EAST; + gbc.insets = new Insets(0, + CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE, CMSAdminUtil.COMPONENT_SPACE); + gbc.gridwidth = gbc.REMAINDER; + gb3.setConstraints(mTrust, gbc); + content.add(mTrust); +*/ + + return content; + } +} + diff --git a/base/console/src/com/netscape/admin/certsrv/managecert/ManageCertDialog.java b/base/console/src/com/netscape/admin/certsrv/managecert/ManageCertDialog.java new file mode 100644 index 000000000..4fd902584 --- /dev/null +++ b/base/console/src/com/netscape/admin/certsrv/managecert/ManageCertDialog.java @@ -0,0 +1,362 @@ +// --- 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.managecert; + +import java.util.*; +import java.awt.*; +import java.awt.event.*; +import javax.swing.table.*; +import javax.swing.*; + +import com.netscape.admin.certsrv.*; +import com.netscape.admin.certsrv.connection.*; +import com.netscape.certsrv.common.*; + +/** + * This class lists out all the CA certificates from the internal token. + * + * @author chrisho + * @version $Revision$, $Date$ + * @see com.netscape.admin.certsrv.managecert + */ +public class ManageCertDialog extends JDialog implements ActionListener, + MouseListener { + private static final String PANELNAME = "MANAGECERTDIALOG"; + static final Dimension DEFAULT_SIZE = new Dimension(460,500); + static final Dimension BUTTON_MIN_SIZE = new Dimension(100,30); + + protected ResourceBundle mResource; + private JFrame mParent; + private JTable mTable; + private ManageCertModel mDataModel; + private JButton mClose, mDelete, mEdit, mHelp; + private AdminConnection mConn; + private static final String HELPINDEX = + "configuration-managecert-wizard-certlists-help"; + + public ManageCertDialog(JFrame parent) { + super(parent, true); + mParent = parent; + setSize(460,500); + getRootPane().setDoubleBuffered(true); + setLocationRelativeTo(parent); + mResource = ResourceBundle.getBundle(CMSAdminResources.class.getName()); + setTitle(mResource.getString(PANELNAME+"_TITLE")); + setDisplay(); + } + + public void showDialog(AdminConnection conn) { + mConn = conn; + refresh(); + this.show(); + } + + private void refresh() { + NameValuePairs response=null; + try { + response = mConn.search(DestDef.DEST_SERVER_ADMIN, ScopeDef.SC_ALL_CERTLIST, + new NameValuePairs()); + } catch (EAdminException e) { + CMSAdminUtil.showErrorDialog(mParent, mResource, e.toString(), + CMSAdminUtil.ERROR_MESSAGE); + } + + if (response == null) { /* we must have gotten timed out */ + return; + } + + mDataModel.removeAllRows(); + + String[] vals = new String[response.size()]; + int i=0; + for (String entry : response.keySet()) { + vals[i++] = entry.trim(); + } + + CMSAdminUtil.bubbleSort(vals); + + for (i=0; i= 0) { + if(e.getClickCount() == 2) { + displayCert(); + } + } + } + + public void mouseReleased(MouseEvent e) { + } + + public void mousePressed(MouseEvent e) { + } + + public void mouseEntered(MouseEvent e) { + } + + public void mouseExited(MouseEvent e) { + } + + private void setButtons() { + //enable and disable buttons accordingly + if (mTable.getSelectionModel().isSelectionEmpty()) { + mDelete.setEnabled(false); + mEdit.setEnabled(false); + return; + } + + if(mDataModel.getRowCount()< 0) { + mDelete.setEnabled(false); + mEdit.setEnabled(false); + return; + } + + mDelete.setEnabled(true); + mEdit.setEnabled(true); + } + + private NameValuePairs getCerts() { + int[] rows = mTable.getSelectedRows(); + NameValuePairs nvps = new NameValuePairs(); + String name = "certName"; + for (int i=0; i