From 75d8c441ca0eefb700fa8a41ee726e56a902d49a Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Mon, 20 Oct 2008 11:40:48 +0000
Subject: [PATCH] Fix for issue 3504 (setup --userJavaKeystore doesn't support JCEKS keystore).
---
opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/ui/SecurityOptionsDialog.java | 46 ++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/ui/SecurityOptionsDialog.java b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/ui/SecurityOptionsDialog.java
index e0fb13c..c43418d 100644
--- a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/ui/SecurityOptionsDialog.java
+++ b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/ui/SecurityOptionsDialog.java
@@ -82,6 +82,7 @@
private JLabel lKeystoreType;
private JRadioButton rbPKCS11;
private JRadioButton rbJKS;
+ private JRadioButton rbJCEKS;
private JRadioButton rbPKCS12;
private JLabel lKeystorePath;
private JTextField tfKeystorePath;
@@ -210,6 +211,13 @@
String.valueOf(tfKeystorePwd.getPassword()), enableSSL,
enableStartTLS, sslPort, selectedAlias);
}
+ else if (rbJCEKS.isSelected())
+ {
+ ops = SecurityOptions.createJCEKSCertificateOptions(
+ tfKeystorePath.getText(),
+ String.valueOf(tfKeystorePwd.getPassword()), enableSSL,
+ enableStartTLS, sslPort, selectedAlias);
+ }
else if (rbPKCS11.isSelected())
{
ops = SecurityOptions.createPKCS11CertificateOptions(
@@ -381,6 +389,11 @@
INFO_JKS_CERTIFICATE_TOOLTIP.get(),
UIFactory.TextStyle.SECONDARY_FIELD_VALID);
rbJKS.addActionListener(l);
+ rbJCEKS = UIFactory.makeJRadioButton(
+ INFO_JCEKS_CERTIFICATE_LABEL.get(),
+ INFO_JCEKS_CERTIFICATE_TOOLTIP.get(),
+ UIFactory.TextStyle.SECONDARY_FIELD_VALID);
+ rbJCEKS.addActionListener(l);
rbPKCS11 = UIFactory.makeJRadioButton(
INFO_PKCS11_CERTIFICATE_LABEL.get(),
INFO_PKCS11_CERTIFICATE_TOOLTIP.get(),
@@ -393,6 +406,7 @@
rbPKCS12.addActionListener(l);
ButtonGroup group2 = new ButtonGroup();
group2.add(rbJKS);
+ group2.add(rbJCEKS);
group2.add(rbPKCS11);
group2.add(rbPKCS12);
lKeystoreType.setLabelFor(rbJKS);
@@ -538,6 +552,10 @@
gbc.gridwidth = GridBagConstraints.RELATIVE;
aux2Panel.add(Box.createHorizontalGlue(), gbc);
gbc.gridwidth = GridBagConstraints.REMAINDER;
+ aux2Panel.add(rbJCEKS, gbc);
+ gbc.gridwidth = GridBagConstraints.RELATIVE;
+ aux2Panel.add(Box.createHorizontalGlue(), gbc);
+ gbc.gridwidth = GridBagConstraints.REMAINDER;
aux2Panel.add(rbPKCS12, gbc);
gbc.gridwidth = GridBagConstraints.RELATIVE;
aux2Panel.add(Box.createHorizontalGlue(), gbc);
@@ -776,6 +794,13 @@
tfKeystorePwd.setText(securityOptions.getKeystorePassword());
break;
+ case JCEKS:
+ rbUseExistingCertificate.setSelected(true);
+ rbJCEKS.setSelected(true);
+ tfKeystorePath.setText(securityOptions.getKeystorePath());
+ tfKeystorePwd.setText(securityOptions.getKeystorePassword());
+ break;
+
case PKCS11:
rbUseExistingCertificate.setSelected(true);
rbPKCS11.setSelected(true);
@@ -814,7 +839,8 @@
}
if (useSSL && rbUseExistingCertificate.isSelected() &&
- !rbJKS.isSelected() && !rbPKCS11.isSelected() && !rbPKCS12.isSelected())
+ !rbJKS.isSelected() && !rbJCEKS.isSelected() &&
+ !rbPKCS11.isSelected() && !rbPKCS12.isSelected())
{
rbJKS.setSelected(true);
}
@@ -826,6 +852,7 @@
lKeystoreType.setEnabled(
rbUseExistingCertificate.isSelected() && useSSL);
rbJKS.setEnabled(rbUseExistingCertificate.isSelected() && useSSL);
+ rbJCEKS.setEnabled(rbUseExistingCertificate.isSelected() && useSSL);
rbPKCS11.setEnabled(rbUseExistingCertificate.isSelected() && useSSL);
rbPKCS12.setEnabled(rbUseExistingCertificate.isSelected() && useSSL);
@@ -927,7 +954,7 @@
(cbEnableSSL.isSelected() || cbEnableStartTLS.isSelected()))
{
String path = tfKeystorePath.getText();
- if (rbJKS.isSelected() || rbPKCS12.isSelected())
+ if (rbJKS.isSelected() || rbJCEKS.isSelected() || rbPKCS12.isSelected())
{
/* Check the path */
if ((path == null) || (path.length() == 0))
@@ -970,6 +997,13 @@
CertificateManager.KEY_STORE_TYPE_JKS,
pwd);
}
+ else if (rbJCEKS.isSelected())
+ {
+ certManager = new CertificateManager(
+ path,
+ CertificateManager.KEY_STORE_TYPE_JCEKS,
+ pwd);
+ }
else if (rbPKCS12.isSelected())
{
certManager = new CertificateManager(
@@ -1002,6 +1036,10 @@
{
errorMsgs.add(INFO_JKS_KEYSTORE_DOES_NOT_EXIST.get());
}
+ else if (rbJCEKS.isSelected())
+ {
+ errorMsgs.add(INFO_JCEKS_KEYSTORE_DOES_NOT_EXIST.get());
+ }
else
{
errorMsgs.add(INFO_PKCS12_KEYSTORE_DOES_NOT_EXIST.get());
@@ -1029,6 +1067,10 @@
{
errorMsgs.add(INFO_ERROR_ACCESSING_JKS_KEYSTORE.get());
}
+ else if (rbJCEKS.isSelected())
+ {
+ errorMsgs.add(INFO_ERROR_ACCESSING_JCEKS_KEYSTORE.get());
+ }
else
{
errorMsgs.add(INFO_ERROR_ACCESSING_PKCS12_KEYSTORE.get());
--
Gitblit v1.10.0