summaryrefslogtreecommitdiffstats
path: root/pki/base/console/src/com/netscape/admin/certsrv/security/CertRequestCertPane.java
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/console/src/com/netscape/admin/certsrv/security/CertRequestCertPane.java')
-rw-r--r--pki/base/console/src/com/netscape/admin/certsrv/security/CertRequestCertPane.java197
1 files changed, 197 insertions, 0 deletions
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/security/CertRequestCertPane.java b/pki/base/console/src/com/netscape/admin/certsrv/security/CertRequestCertPane.java
new file mode 100644
index 000000000..46ae3852f
--- /dev/null
+++ b/pki/base/console/src/com/netscape/admin/certsrv/security/CertRequestCertPane.java
@@ -0,0 +1,197 @@
+// --- 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.util.*;
+import java.net.*;
+import java.io.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.border.*;
+import javax.swing.text.*;
+import com.netscape.management.client.util.*;
+import com.netscape.management.nmclf.*;
+import com.netscape.management.client.comm.HttpChannel;
+
+class CertRequestCertPane extends JPanel implements SuiConstants,
+IKeyCertPage {
+
+ JTextArea certReq = new JTextArea(7, 10);
+ JScrollPane scrollPane = new JScrollPane(certReq,
+ JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
+ JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+ String explainEMail, explainURL;
+ JButton copy;
+ String oldUrl = "";
+
+
+
+ public JPanel getPanel() {
+ return this;
+ }
+
+
+
+ class CertPaneActionListener implements ActionListener {
+ public void actionPerformed(ActionEvent event) {
+ if (event.getActionCommand().equals("COPY")) {
+ certReq.selectAll();
+ certReq.copy();
+ certReq.setSelectionEnd(certReq.getSelectionEnd());
+ }
+ }
+ }
+
+ public boolean pageHide(WizardObservable observable) {
+ return true;
+ }
+
+ public boolean pageShow(WizardObservable observable) {
+ boolean show =
+ ((Boolean)(observable.get("requestCert"))).booleanValue();
+
+
+ Hashtable param = (Hashtable)(observable.get("CertReqCGIParam"));
+ if (show && param.get("xmt_select").equals("1")) {
+
+ Hashtable urlParam = new Hashtable();
+ urlParam.put("op" , "submitCSR");
+ urlParam.put("csrCertType" , "server");
+ urlParam.put("csrRequestorName" , param.get("requestor_name"));
+ urlParam.put("csrRequestorEmail" , param.get("email_address"));
+ urlParam.put("csrRequestorPhone" , param.get("telephone"));
+ urlParam.put("csrRequestorComments", "");
+ urlParam.put("pkcs10Request" , observable.get("CertReq"));
+
+ if (((Boolean)(observable.get("newCertReq"))).booleanValue()
+ && !(oldUrl.equals(param.get("url")))) {
+ try {
+ //attempt to contect cms
+ oldUrl = (String)(param.get("url"));
+ Comm cmsUrl = new Comm(oldUrl, /*null*/urlParam, true);
+ cmsUrl.run();
+ /*System.out.println(cmsUrl.getData());*/
+ //explain.setVisible(false);
+ explain.setText(explainURL);
+ if (cmsUrl.getError() != null) {
+ //cms didn't respond
+ certReq.setText(
+ resource.getString("CertRequestCertPane",
+ "cmsNotResponding"));
+ Debug.println("CertRequestCertPane:"+
+ cmsUrl.getError());
+ } else if ((cmsUrl.getData() != null) &&
+ (cmsUrl.getData().trim().length() != 0)) {
+ //cms return a message
+
+ JEditorPane editor = new JEditorPane();
+ editor.setBorder(new EmptyBorder(0, 0, 0, 0));
+ editor.setEditable(false);
+ //editor.setOpaque(false);
+
+ //display cms's message
+ Debug.println(cmsUrl.getData());
+ StringReader reader =
+ new StringReader(cmsUrl.getData());
+ editor.setEditorKit(
+ editor.createEditorKitForContentType("text/html"));
+ Document dstDoc = editor.getDocument();
+ editor.getEditorKit().read(reader, dstDoc, 0);
+
+ certReq.setText(editor.getText());
+ }
+
+ observable.put("newCertReq", new Boolean(false));
+ } catch (Exception e) {
+ certReq.setText(
+ resource.getString("CertRequestCertPane", "unableToParse"));
+ Debug.println("CertRequestCertPane:"+e);
+
+ }
+ }
+
+ } else if (show) {
+ //if request via e-mail
+ explain.setText(explainEMail);
+ certReq.setText((String)(observable.get("CertReq")));
+ explain.setVisible(true);
+ }
+
+ scrollPane.validate();
+
+ return show;
+ }
+
+ MultilineLabel explain;
+ ResourceSet resource = KeyCertUtility.getKeyCertWizardResourceSet();
+ public CertRequestCertPane() {
+ super();
+ setLayout(new GridBagLayout());
+
+
+ copy = JButtonFactory.create(
+ resource.getString("CertRequestCertPane", "copyLabel"));
+
+ setBorder( new TitledBorder( new CompoundBorder(new EtchedBorder(),
+ new EmptyBorder(COMPONENT_SPACE, COMPONENT_SPACE,
+ COMPONENT_SPACE, COMPONENT_SPACE)),
+ resource.getString("CertRequestCertPane", "title")));
+
+ int y = 0;
+
+ explainEMail = resource.getString("CertRequestCertPane", "explain");
+ explainURL = resource.getString("CertRequestCertPane", "explain2");
+
+
+ explain = new MultilineLabel(explainEMail);
+ GridBagUtil.constrain(this, explain, 0, ++y, 1, 1, 1.0, 1.0,
+ GridBagConstraints.NORTH, GridBagConstraints.BOTH, 0,
+ 0, DIFFERENT_COMPONENT_SPACE, 0);
+
+ GridBagUtil.constrain(this, scrollPane, 0, ++y, 1, 1, 0.0, 0.0,
+ GridBagConstraints.NORTH,
+ GridBagConstraints.HORIZONTAL, 0, 0,
+ DIFFERENT_COMPONENT_SPACE, 0);
+
+
+ copy.setActionCommand("COPY");
+ copy.addActionListener(new CertPaneActionListener());
+ GridBagUtil.constrain(this, copy, 0, ++y, 1, 1, 0.0, 0.0,
+ GridBagConstraints.WEST, GridBagConstraints.NONE, 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 CertRequestCertPane());
+ f.setSize(400,400);
+ f.show();
+ }*/
+
+}