aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/plugin/certconfig/CertConfigPanel.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/java/sip/communicator/plugin/certconfig/CertConfigPanel.java')
-rw-r--r--src/net/java/sip/communicator/plugin/certconfig/CertConfigPanel.java530
1 files changed, 265 insertions, 265 deletions
diff --git a/src/net/java/sip/communicator/plugin/certconfig/CertConfigPanel.java b/src/net/java/sip/communicator/plugin/certconfig/CertConfigPanel.java
index 57c7606..6f7bf67 100644
--- a/src/net/java/sip/communicator/plugin/certconfig/CertConfigPanel.java
+++ b/src/net/java/sip/communicator/plugin/certconfig/CertConfigPanel.java
@@ -1,4 +1,4 @@
-/*
+/*
* Jitsi, the OpenSource Java VoIP and Instant Messaging client.
*
* Copyright @ 2015 Atlassian Pty Ltd
@@ -15,267 +15,267 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package net.java.sip.communicator.plugin.certconfig;
-
-import java.awt.*;
-import java.awt.event.*;
-import java.security.*;
-
-import javax.swing.*;
-import javax.swing.border.*;
-import javax.swing.event.*;
-
-import net.java.sip.communicator.plugin.desktoputil.*;
-import net.java.sip.communicator.service.certificate.*;
-import net.java.sip.communicator.service.gui.*;
-
-import org.jitsi.service.resources.*;
-import org.jitsi.util.*;
-
-/**
- * Advanced configuration form to define client TLS certificate templates.
- *
- * @author Ingo Bauersachs
- */
-public class CertConfigPanel
- extends TransparentPanel
- implements ConfigurationForm, ActionListener, ListSelectionListener
-{
- // ------------------------------------------------------------------------
- // Fields
- // ------------------------------------------------------------------------
- private static final long serialVersionUID = 2324122652952574574L;
- private ResourceManagementService R;
- private CertConfigTableModel model;
-
- // ------------------------------------------------------------------------
- // GUI members
- // ------------------------------------------------------------------------
- private JButton cmdAdd;
- private JButton cmdRemove;
- private JButton cmdEdit;
- private JTable tblCertList;
- private JRadioButton rdoUseWindows;
- private JRadioButton rdoUseJava;
- private SIPCommCheckBox chkEnableRevocationCheck;
- private SIPCommCheckBox chkEnableOcsp;
-
- // ------------------------------------------------------------------------
- // initialization
- // ------------------------------------------------------------------------
- /**
- * Creates a new instance of this class.
- */
- public CertConfigPanel()
- {
- R = CertConfigActivator.R;
- model = new CertConfigTableModel();
- initComponents();
- valueChanged(null);
- }
-
- private void initComponents()
- {
- this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
-
- // trusted root CA source selection
- if (OSUtils.IS_WINDOWS)
- {
- JPanel pnlCertConfig = new TransparentPanel(new GridLayout(2, 1));
- pnlCertConfig.setBorder(BorderFactory.createTitledBorder(
- R.getI18NString("plugin.certconfig.TRUSTSTORE_CONFIG")));
- add(pnlCertConfig);
-
- ButtonGroup grpTrustStore = new ButtonGroup();
-
- rdoUseJava = new SIPCommRadioButton();
- rdoUseJava.setText(
- R.getI18NString("plugin.certconfig.JAVA_TRUSTSTORE"));
- rdoUseJava.addActionListener(this);
- grpTrustStore.add(rdoUseJava);
- pnlCertConfig.add(rdoUseJava);
-
- rdoUseWindows = new SIPCommRadioButton();
- rdoUseWindows.setText(
- R.getI18NString("plugin.certconfig.WINDOWS_TRUSTSTORE"));
- rdoUseWindows.addActionListener(this);
- grpTrustStore.add(rdoUseWindows);
- pnlCertConfig.add(rdoUseWindows);
-
- if ("Windows-ROOT".equals(CertConfigActivator.getConfigService()
- .getProperty(CertificateService.PNAME_TRUSTSTORE_TYPE)))
- {
- rdoUseWindows.setSelected(true);
- }
- else
- {
- rdoUseJava.setSelected(true);
- }
- }
-
- // revocation options
- JPanel pnlRevocation = new TransparentPanel(new GridLayout(2, 1));
- pnlRevocation.setBorder(BorderFactory.createTitledBorder(
- R.getI18NString("plugin.certconfig.REVOCATION_TITLE")));
- add(pnlRevocation);
-
- chkEnableRevocationCheck = new SIPCommCheckBox(
- R.getI18NString("plugin.certconfig.REVOCATION_CHECK_ENABLED"));
- chkEnableRevocationCheck.addActionListener(this);
- chkEnableRevocationCheck.setSelected(
- "true".equals(
- System.getProperty("com.sun.net.ssl.checkRevocation")));
- pnlRevocation.add(chkEnableRevocationCheck);
-
- chkEnableOcsp = new SIPCommCheckBox(
- R.getI18NString("plugin.certconfig.REVOCATION_OCSP_ENABLED"));
- chkEnableOcsp.addActionListener(this);
- chkEnableOcsp.setSelected(
- "true".equals(Security.getProperty("ocsp.enable")));
- chkEnableOcsp.setEnabled(chkEnableRevocationCheck.isSelected());
- pnlRevocation.add(chkEnableOcsp);
-
- // Client certificate authentication list
- JPanel pnlCertList = new TransparentPanel(new BorderLayout());
- pnlCertList.setBorder(BorderFactory.createTitledBorder(
- R.getI18NString("plugin.certconfig.CERT_LIST_TITLE")));
- add(pnlCertList);
-
- JLabel lblNote = new JLabel();
- lblNote.setText(
- R.getI18NString("plugin.certconfig.CERT_LIST_DESCRIPTION"));
- lblNote.setBorder(new EmptyBorder(7, 7, 7, 7));
- pnlCertList.add(lblNote, BorderLayout.NORTH);
-
- tblCertList = new JTable();
- tblCertList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
- tblCertList.getSelectionModel().addListSelectionListener(this);
- tblCertList.setModel(model);
- pnlCertList.add(new JScrollPane(tblCertList), BorderLayout.CENTER);
-
- TransparentPanel buttons = new TransparentPanel();
- buttons.setLayout(new FlowLayout(FlowLayout.RIGHT));
- pnlCertList.add(buttons, BorderLayout.SOUTH);
-
- cmdAdd = new JButton();
- cmdAdd.setText(R.getI18NString("service.gui.ADD"));
- cmdAdd.addActionListener(this);
- buttons.add(cmdAdd);
-
- cmdRemove = new JButton();
- cmdRemove.setText(R.getI18NString("service.gui.REMOVE"));
- cmdRemove.addActionListener(this);
- buttons.add(cmdRemove);
-
- cmdEdit = new JButton();
- cmdEdit.setText(R.getI18NString("service.gui.EDIT"));
- cmdEdit.addActionListener(this);
- buttons.add(cmdEdit);
- }
-
- // ------------------------------------------------------------------------
- // event handling
- // ------------------------------------------------------------------------
- public void valueChanged(ListSelectionEvent e)
- {
- int row = tblCertList.getSelectedRow();
- cmdRemove.setEnabled(row > -1);
- cmdEdit.setEnabled(row > -1);
- }
-
- public void actionPerformed(ActionEvent e)
- {
- if (e.getSource() == cmdAdd)
- {
- CertificateConfigEntry newEntry = new CertificateConfigEntry();
- CertConfigEntryDialog dlg = new CertConfigEntryDialog(newEntry);
- if (dlg.showDialog())
- CertConfigActivator.getCertService()
- .setClientAuthCertificateConfig(newEntry);
- }
- if (e.getSource() == cmdRemove)
- {
- CertConfigActivator.getCertService()
- .removeClientAuthCertificateConfig(
- model.getItem(tblCertList.getSelectedRow()).getId());
- }
- if (e.getSource() == cmdEdit)
- {
- CertificateConfigEntry entry =
- model.getItem(tblCertList.getSelectedRow());
- CertConfigEntryDialog dlg = new CertConfigEntryDialog(entry);
- if (dlg.showDialog())
- CertConfigActivator.getCertService()
- .setClientAuthCertificateConfig(entry);
- }
- if (e.getSource() == rdoUseJava)
- {
- CertConfigActivator.getConfigService().setProperty(
- CertificateService.PNAME_TRUSTSTORE_TYPE,
- "meta:default");
- CertConfigActivator.getConfigService().removeProperty(
- CertificateService.PNAME_TRUSTSTORE_FILE);
- CertConfigActivator.getCredService().removePassword(
- CertificateService.PNAME_TRUSTSTORE_PASSWORD);
- }
- if (e.getSource() == rdoUseWindows)
- {
- CertConfigActivator.getConfigService().setProperty(
- CertificateService.PNAME_TRUSTSTORE_TYPE, "Windows-ROOT");
- CertConfigActivator.getConfigService().removeProperty(
- CertificateService.PNAME_TRUSTSTORE_FILE);
- CertConfigActivator.getCredService().removePassword(
- CertificateService.PNAME_TRUSTSTORE_PASSWORD);
- }
- if (e.getSource() == chkEnableRevocationCheck)
- {
- CertConfigActivator.getConfigService().setProperty(
- CertificateService.PNAME_REVOCATION_CHECK_ENABLED,
- chkEnableRevocationCheck.isSelected());
-
- String enabled = new Boolean(
- chkEnableRevocationCheck.isSelected()).toString();
- System.setProperty("com.sun.security.enableCRLDP", enabled);
- System.setProperty("com.sun.net.ssl.checkRevocation", enabled);
- chkEnableOcsp.setEnabled(chkEnableRevocationCheck.isSelected());
- }
- if (e.getSource() == chkEnableOcsp)
- {
- CertConfigActivator.getConfigService().setProperty(
- CertificateService.PNAME_OCSP_ENABLED,
- chkEnableOcsp.isSelected());
-
- Security.setProperty("ocsp.enable",
- new Boolean(chkEnableOcsp.isSelected()).toString());
- }
- }
-
- // ------------------------------------------------------------------------
- // Configuration form members
- // ------------------------------------------------------------------------
- public String getTitle()
- {
- return CertConfigActivator.R.getI18NString("plugin.certconfig.TITLE");
- }
-
- public byte[] getIcon()
- {
- return null;
- }
-
- public Object getForm()
- {
- return this;
- }
-
- public int getIndex()
- {
- return -1;
- }
-
- public boolean isAdvanced()
- {
- return true;
- }
-
-}
+package net.java.sip.communicator.plugin.certconfig;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.security.*;
+
+import javax.swing.*;
+import javax.swing.border.*;
+import javax.swing.event.*;
+
+import net.java.sip.communicator.plugin.desktoputil.*;
+import net.java.sip.communicator.service.certificate.*;
+import net.java.sip.communicator.service.gui.*;
+
+import org.jitsi.service.resources.*;
+import org.jitsi.util.*;
+
+/**
+ * Advanced configuration form to define client TLS certificate templates.
+ *
+ * @author Ingo Bauersachs
+ */
+public class CertConfigPanel
+ extends TransparentPanel
+ implements ConfigurationForm, ActionListener, ListSelectionListener
+{
+ // ------------------------------------------------------------------------
+ // Fields
+ // ------------------------------------------------------------------------
+ private static final long serialVersionUID = 2324122652952574574L;
+ private ResourceManagementService R;
+ private CertConfigTableModel model;
+
+ // ------------------------------------------------------------------------
+ // GUI members
+ // ------------------------------------------------------------------------
+ private JButton cmdAdd;
+ private JButton cmdRemove;
+ private JButton cmdEdit;
+ private JTable tblCertList;
+ private JRadioButton rdoUseWindows;
+ private JRadioButton rdoUseJava;
+ private SIPCommCheckBox chkEnableRevocationCheck;
+ private SIPCommCheckBox chkEnableOcsp;
+
+ // ------------------------------------------------------------------------
+ // initialization
+ // ------------------------------------------------------------------------
+ /**
+ * Creates a new instance of this class.
+ */
+ public CertConfigPanel()
+ {
+ R = CertConfigActivator.R;
+ model = new CertConfigTableModel();
+ initComponents();
+ valueChanged(null);
+ }
+
+ private void initComponents()
+ {
+ this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
+
+ // trusted root CA source selection
+ if (OSUtils.IS_WINDOWS)
+ {
+ JPanel pnlCertConfig = new TransparentPanel(new GridLayout(2, 1));
+ pnlCertConfig.setBorder(BorderFactory.createTitledBorder(
+ R.getI18NString("plugin.certconfig.TRUSTSTORE_CONFIG")));
+ add(pnlCertConfig);
+
+ ButtonGroup grpTrustStore = new ButtonGroup();
+
+ rdoUseJava = new SIPCommRadioButton();
+ rdoUseJava.setText(
+ R.getI18NString("plugin.certconfig.JAVA_TRUSTSTORE"));
+ rdoUseJava.addActionListener(this);
+ grpTrustStore.add(rdoUseJava);
+ pnlCertConfig.add(rdoUseJava);
+
+ rdoUseWindows = new SIPCommRadioButton();
+ rdoUseWindows.setText(
+ R.getI18NString("plugin.certconfig.WINDOWS_TRUSTSTORE"));
+ rdoUseWindows.addActionListener(this);
+ grpTrustStore.add(rdoUseWindows);
+ pnlCertConfig.add(rdoUseWindows);
+
+ if ("Windows-ROOT".equals(CertConfigActivator.getConfigService()
+ .getProperty(CertificateService.PNAME_TRUSTSTORE_TYPE)))
+ {
+ rdoUseWindows.setSelected(true);
+ }
+ else
+ {
+ rdoUseJava.setSelected(true);
+ }
+ }
+
+ // revocation options
+ JPanel pnlRevocation = new TransparentPanel(new GridLayout(2, 1));
+ pnlRevocation.setBorder(BorderFactory.createTitledBorder(
+ R.getI18NString("plugin.certconfig.REVOCATION_TITLE")));
+ add(pnlRevocation);
+
+ chkEnableRevocationCheck = new SIPCommCheckBox(
+ R.getI18NString("plugin.certconfig.REVOCATION_CHECK_ENABLED"));
+ chkEnableRevocationCheck.addActionListener(this);
+ chkEnableRevocationCheck.setSelected(
+ "true".equals(
+ System.getProperty("com.sun.net.ssl.checkRevocation")));
+ pnlRevocation.add(chkEnableRevocationCheck);
+
+ chkEnableOcsp = new SIPCommCheckBox(
+ R.getI18NString("plugin.certconfig.REVOCATION_OCSP_ENABLED"));
+ chkEnableOcsp.addActionListener(this);
+ chkEnableOcsp.setSelected(
+ "true".equals(Security.getProperty("ocsp.enable")));
+ chkEnableOcsp.setEnabled(chkEnableRevocationCheck.isSelected());
+ pnlRevocation.add(chkEnableOcsp);
+
+ // Client certificate authentication list
+ JPanel pnlCertList = new TransparentPanel(new BorderLayout());
+ pnlCertList.setBorder(BorderFactory.createTitledBorder(
+ R.getI18NString("plugin.certconfig.CERT_LIST_TITLE")));
+ add(pnlCertList);
+
+ JLabel lblNote = new JLabel();
+ lblNote.setText(
+ R.getI18NString("plugin.certconfig.CERT_LIST_DESCRIPTION"));
+ lblNote.setBorder(new EmptyBorder(7, 7, 7, 7));
+ pnlCertList.add(lblNote, BorderLayout.NORTH);
+
+ tblCertList = new JTable();
+ tblCertList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+ tblCertList.getSelectionModel().addListSelectionListener(this);
+ tblCertList.setModel(model);
+ pnlCertList.add(new JScrollPane(tblCertList), BorderLayout.CENTER);
+
+ TransparentPanel buttons = new TransparentPanel();
+ buttons.setLayout(new FlowLayout(FlowLayout.RIGHT));
+ pnlCertList.add(buttons, BorderLayout.SOUTH);
+
+ cmdAdd = new JButton();
+ cmdAdd.setText(R.getI18NString("service.gui.ADD"));
+ cmdAdd.addActionListener(this);
+ buttons.add(cmdAdd);
+
+ cmdRemove = new JButton();
+ cmdRemove.setText(R.getI18NString("service.gui.REMOVE"));
+ cmdRemove.addActionListener(this);
+ buttons.add(cmdRemove);
+
+ cmdEdit = new JButton();
+ cmdEdit.setText(R.getI18NString("service.gui.EDIT"));
+ cmdEdit.addActionListener(this);
+ buttons.add(cmdEdit);
+ }
+
+ // ------------------------------------------------------------------------
+ // event handling
+ // ------------------------------------------------------------------------
+ public void valueChanged(ListSelectionEvent e)
+ {
+ int row = tblCertList.getSelectedRow();
+ cmdRemove.setEnabled(row > -1);
+ cmdEdit.setEnabled(row > -1);
+ }
+
+ public void actionPerformed(ActionEvent e)
+ {
+ if (e.getSource() == cmdAdd)
+ {
+ CertificateConfigEntry newEntry = new CertificateConfigEntry();
+ CertConfigEntryDialog dlg = new CertConfigEntryDialog(newEntry);
+ if (dlg.showDialog())
+ CertConfigActivator.getCertService()
+ .setClientAuthCertificateConfig(newEntry);
+ }
+ if (e.getSource() == cmdRemove)
+ {
+ CertConfigActivator.getCertService()
+ .removeClientAuthCertificateConfig(
+ model.getItem(tblCertList.getSelectedRow()).getId());
+ }
+ if (e.getSource() == cmdEdit)
+ {
+ CertificateConfigEntry entry =
+ model.getItem(tblCertList.getSelectedRow());
+ CertConfigEntryDialog dlg = new CertConfigEntryDialog(entry);
+ if (dlg.showDialog())
+ CertConfigActivator.getCertService()
+ .setClientAuthCertificateConfig(entry);
+ }
+ if (e.getSource() == rdoUseJava)
+ {
+ CertConfigActivator.getConfigService().setProperty(
+ CertificateService.PNAME_TRUSTSTORE_TYPE,
+ "meta:default");
+ CertConfigActivator.getConfigService().removeProperty(
+ CertificateService.PNAME_TRUSTSTORE_FILE);
+ CertConfigActivator.getCredService().removePassword(
+ CertificateService.PNAME_TRUSTSTORE_PASSWORD);
+ }
+ if (e.getSource() == rdoUseWindows)
+ {
+ CertConfigActivator.getConfigService().setProperty(
+ CertificateService.PNAME_TRUSTSTORE_TYPE, "Windows-ROOT");
+ CertConfigActivator.getConfigService().removeProperty(
+ CertificateService.PNAME_TRUSTSTORE_FILE);
+ CertConfigActivator.getCredService().removePassword(
+ CertificateService.PNAME_TRUSTSTORE_PASSWORD);
+ }
+ if (e.getSource() == chkEnableRevocationCheck)
+ {
+ CertConfigActivator.getConfigService().setProperty(
+ CertificateService.PNAME_REVOCATION_CHECK_ENABLED,
+ chkEnableRevocationCheck.isSelected());
+
+ String enabled = new Boolean(
+ chkEnableRevocationCheck.isSelected()).toString();
+ System.setProperty("com.sun.security.enableCRLDP", enabled);
+ System.setProperty("com.sun.net.ssl.checkRevocation", enabled);
+ chkEnableOcsp.setEnabled(chkEnableRevocationCheck.isSelected());
+ }
+ if (e.getSource() == chkEnableOcsp)
+ {
+ CertConfigActivator.getConfigService().setProperty(
+ CertificateService.PNAME_OCSP_ENABLED,
+ chkEnableOcsp.isSelected());
+
+ Security.setProperty("ocsp.enable",
+ new Boolean(chkEnableOcsp.isSelected()).toString());
+ }
+ }
+
+ // ------------------------------------------------------------------------
+ // Configuration form members
+ // ------------------------------------------------------------------------
+ public String getTitle()
+ {
+ return CertConfigActivator.R.getI18NString("plugin.certconfig.TITLE");
+ }
+
+ public byte[] getIcon()
+ {
+ return null;
+ }
+
+ public Object getForm()
+ {
+ return this;
+ }
+
+ public int getIndex()
+ {
+ return -1;
+ }
+
+ public boolean isAdvanced()
+ {
+ return true;
+ }
+
+}