summaryrefslogtreecommitdiffstats
path: root/pki/base/console/src/com/netscape/admin/certsrv/connection/PromptForTrustDialog.java
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/console/src/com/netscape/admin/certsrv/connection/PromptForTrustDialog.java')
-rw-r--r--pki/base/console/src/com/netscape/admin/certsrv/connection/PromptForTrustDialog.java316
1 files changed, 0 insertions, 316 deletions
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/connection/PromptForTrustDialog.java b/pki/base/console/src/com/netscape/admin/certsrv/connection/PromptForTrustDialog.java
deleted file mode 100644
index 868eccc1b..000000000
--- a/pki/base/console/src/com/netscape/admin/certsrv/connection/PromptForTrustDialog.java
+++ /dev/null
@@ -1,316 +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.management.client.security;
-package com.netscape.admin.certsrv.connection;
-
-import com.netscape.management.nmclf.SuiConstants;
-import com.netscape.management.nmclf.SuiLookAndFeel;
-import com.netscape.management.client.util.*;
-import com.netscape.admin.certsrv.ug.*;
-
-import java.awt.event.*;
-import java.awt.*;
-import javax.swing.*;
-import java.io.*;
-import java.util.*;
-import java.net.*;
-import java.text.*;
-import java.security.cert.X509Certificate;
-import com.netscape.admin.certsrv.*;
-import com.netscape.certsrv.common.*;
-
-import org.mozilla.jss.ssl.SSLCertificateApprovalCallback.ValidityStatus;
-
-/**
- * Dialog box that prompts user to either accept or reject
- * an untrusted certificate.
- */
-public class PromptForTrustDialog extends AbstractDialog implements SuiConstants {
-
- private static boolean certIsAccepted = false;
- private static boolean acceptedForSingleSession = false;
- private X509Certificate mCert;
-
- private UserConfirmationActionListener buttonActionListener =
- new UserConfirmationActionListener();
- protected ResourceBundle mResource;
- //static ResourceSet _resource = new ResourceSet("com.netscape.admin.certsrv.connection.ServerAuthResource");
-
- CertViewDialog viewCertDialog;
- //ViewCertificateDialog viewCertDialog;
- JCheckBox oneSession;
-
-
- /**
- * create a dialog that prompt user to either accept or reject an untrusted certificate
- * @param parent the owner of the dialog
- * @param cert certificate chain
- * @param certChain_errCode cert chain errors (0 if no errors)
- * @param serverCert_errCode server cert errors (0 if no errors)
- *
- *
- */
- public PromptForTrustDialog(Frame parent, X509Certificate cert,
- ValidityStatus status) {
- super(parent, "", true);
- mResource = ResourceBundle.getBundle(
- CMSAdminResources.class.getName());
- mCert = cert;
-
- setTitle(mResource.getString("SSLCLIENT_TRUST_DIALOG_TITLE"));
-
- getContentPane().setLayout(new GridBagLayout());
-
-
- //Add action button pane first so the accept button will
- //get default focus. Already try various way with *Focus() call
- //none of them work.
- GridBagUtil.constrain(getContentPane(), createActionButtons(),
- 0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.SOUTHEAST,
- GridBagConstraints.NONE, 0, 0, 0, 0);
-
- GridBagUtil.constrain(getContentPane(), siteAlert(), 0, 0, 1,
- 1, 1.0, 1.0, GridBagConstraints.NORTH,
- GridBagConstraints.BOTH, VERT_WINDOW_INSET,
- VERT_WINDOW_INSET, 0, 0);
-
- //viewCertDialog = new ViewCertificateDialog(parent, cert, status);
- viewCertDialog = new CertViewDialog((JFrame)parent);
-
- setMinimumSize(400, 250);
- if (parent == null) {
- ModalDialogUtil.setCenteredDialog(this);
- }
- pack();
- }
-
-
- /**
- * Handles all the action (Ok, Accept, Reject, and Help)
- *
- */
- class UserConfirmationActionListener implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- if (e.getActionCommand().equals("ACCEPT")) {
- certIsAccepted = true;
- setVisible(false);
- } else if (e.getActionCommand().equals("REJECT")) {
- certIsAccepted = false;
- setVisible(false);
- } else if (e.getActionCommand().equals("VIEWCERT")) {
- String certContent = getPrettyPrint(mCert);
- viewCertDialog.showDialog("", certContent);
- }
- }
- }
-
- private final static String spaces =
- " " +
- " " +
- " " +
- " " +
- " ";
- private static final char[] hexdigits = {
- '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
- 'A', 'B', 'C', 'D', 'E', 'F'
- };
-
- private String indent(int size) {
- return spaces.substring(0, size);
- }
-
- private String getPrettyPrint(X509Certificate cert) {
- String subjectdn = cert.getSubjectDN().toString();
- String issuerdn = cert.getIssuerDN().toString();
- String serial = cert.getSerialNumber().toString();
- SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy");
- String before = formatter.format(cert.getNotBefore());
- String after = formatter.format(cert.getNotAfter());
- String fingerprint = getHexString(cert.getSignature(), 16, 16, ":");
- String str = "Subject name: "+subjectdn+"\n"+
- "Issuer name: "+issuerdn+"\n"+"Serial number: "+serial+"\n"+
- "Validity: "+before+" to "+after+"\n"+"Signature:\n"+
- fingerprint+"\n";
- return str;
- }
-
- private String getHexString(byte[] in, int indentSize, int lineLen,
- String separator) {
- StringBuffer sb = new StringBuffer();
- int hexCount = 0;
- char c[];
- int j = 0;
-
- if (lineLen == 0) {
- c = new char[in.length * 3 + 1];
- } else {
- c = new char[lineLen * 3 + 1];
- }
-
- char sep = separator.charAt(0);
-
- sb.append(indent(indentSize));
- for (int i = 0; i < in.length; i++) {
- if (lineLen > 0 && hexCount == lineLen) {
- c[j++] = '\n';
- sb.append(c, 0, j);
- sb.append(indent(indentSize));
- hexCount = 0;
- j = 0;
- }
- byte x = in[i];
-
- // output hex digits to buffer
- c[j++] = hexdigits[(char) ((x >> 4) & 0xf)];
- c[j++] = hexdigits[(char) (x & 0xf)];
-
- // if not last char, output separator
- if (i != in.length - 1) {
- c[j++] = sep;
- }
-
- hexCount++;
- }
- if (j > 0) {
- c[j++] = '\n';
- sb.append(c, 0, j);
- }
- // sb.append("\n");
-
- return sb.toString();
- }
-
- /**
- * @return true if certificate is accepted
- */
- public boolean isCertAccepted() {
- return certIsAccepted;
- }
-
- /**
- * @return true certificate should only be accept for a single session
- */
- public boolean isAcceptedForOneSession() {
- return oneSession.isSelected();
- }
-
-
- /**
- * Allow reuse of this dialog, if it is not disposed.
- * @param cert certificate chain
- * @param certChain_errCode cert chain errors (0 if no errors)
- * @param serverCert_errCode server cert errors (0 if no errors)
- *
- */
- public void setCertificateInfo(X509Certificate cert,
- ValidityStatus status) {
- //viewCertDialog.setCertificate(cert, status);
- }
-
-
- /**
- * Create a warning message panel
- */
- private JPanel siteAlert() {
- JPanel notTrustedSiteWarning = new JPanel();
- notTrustedSiteWarning.setLayout(new GridBagLayout());
-
- JLabel warningImage = new JLabel(UIManager.getIcon("OptionPane.warningIcon"));
- MultilineLabel warningMsg = new MultilineLabel(
- mResource.getString("SSLCLIENT_TRUST_DIALOG_WARNMSG"));
- oneSession = new JCheckBox(
- mResource.getString("SSLCLIENT_TRUST_DIALOG_ACCEPTONESESSION"),
- false);
-
- GridBagUtil.constrain(notTrustedSiteWarning, warningImage, 0,
- 0, 1, 1, 0.0, 0.0, GridBagConstraints.NORTHWEST,
- GridBagConstraints.NONE, 0, 0, 0,
- DIFFERENT_COMPONENT_SPACE);
-
- GridBagUtil.constrain(notTrustedSiteWarning, warningMsg, 1, 0,
- 1, 1, 1.0, 0.0, GridBagConstraints.NORTHWEST,
- GridBagConstraints.BOTH, 0, 0,
- DIFFERENT_COMPONENT_SPACE, VERT_WINDOW_INSET);
-
- GridBagUtil.constrain(notTrustedSiteWarning, oneSession, 1, 1,
- 1, 1, 0.0, 0.0, GridBagConstraints.SOUTHWEST,
- GridBagConstraints.NONE, 0, 0, 0, VERT_WINDOW_INSET);
-
- GridBagUtil.constrain(notTrustedSiteWarning,
- Box.createVerticalGlue(), 1, 2, 2, 1, 1.0, 1.0,
- GridBagConstraints.NORTH, GridBagConstraints.BOTH, 0,
- 0, 0, 0);
- return notTrustedSiteWarning;
- }
-
- JButton accept;
- public void setVisible(boolean visible) {
- if (visible) {
- accept.grabFocus();
- setDefaultButton(accept);
- }
- super.setVisible(visible);
- }
-
- /**
- * create all the action buttons (Accept, Reject, View Certificate, and Help)
- */
- private JPanel createActionButtons() {
- JPanel buttonPanel = new JPanel();
- buttonPanel.setLayout(new GridBagLayout());
-
- accept = JButtonFactory.create(
- mResource.getString("SSLCLIENT_TRUST_DIALOG_ACCEPT"),
- buttonActionListener, "ACCEPT");
- accept.registerKeyboardAction(buttonActionListener, "ACCEPT",
- KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0),
- JComponent.WHEN_IN_FOCUSED_WINDOW);
-
- JButton reject = JButtonFactory.create(
- mResource.getString("SSLCLIENT_TRUST_DIALOG_REJECT"),
- buttonActionListener, "REJECT");
- reject.registerKeyboardAction(buttonActionListener, "REJECT",
- KeyStroke.getKeyStroke(KeyEvent.VK_R, 0),
- JComponent.WHEN_IN_FOCUSED_WINDOW);
-
- JButton viewCert = JButtonFactory.create(
- mResource.getString("SSLCLIENT_TRUST_DIALOG_VIEWCERT"), buttonActionListener, "VIEWCERT");
- viewCert.registerKeyboardAction(buttonActionListener, "VIEWCERT",
- KeyStroke.getKeyStroke(KeyEvent.VK_V, 0),
- JComponent.WHEN_IN_FOCUSED_WINDOW);
- JButtonFactory.resizeGroup(accept, reject);
-
- int x = 0;
- GridBagUtil.constrain(buttonPanel, accept, x, 0, 1, 1, 0.0,
- 0.0, GridBagConstraints.NORTH,
- GridBagConstraints.BOTH, DIFFERENT_COMPONENT_SPACE, 0,
- 0, COMPONENT_SPACE);
-
- GridBagUtil.constrain(buttonPanel, reject, ++x, 0, 1, 1, 0.0,
- 0.0, GridBagConstraints.NORTH,
- GridBagConstraints.BOTH, DIFFERENT_COMPONENT_SPACE, 0,
- 0, COMPONENT_SPACE);
-
- GridBagUtil.constrain(buttonPanel, viewCert, ++x, 0, 1, 1, 0.0,
- 0.0, GridBagConstraints.NORTH,
- GridBagConstraints.BOTH, DIFFERENT_COMPONENT_SPACE, 0,
- 0, DIFFERENT_COMPONENT_SPACE);
-
- return buttonPanel;
- }
-}