From 766ba6b28669b54a6a90c539822661690cf5fa2d Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Wed, 25 Nov 2009 20:42:49 +0000
Subject: [PATCH] Fix for issue 4371 (setup throws NullPointerException when trying to use a PKCS12 certificate) Handle the case where the user provides a certificate without an alias. The code in CertificateManager has been updated to detect this situation. The code in ConfigureDS has also been updated to handle the case where the user does not provide a certificate nickname.
---
opends/src/quicksetup/org/opends/quicksetup/installer/ui/SecurityOptionsDialog.java | 30 ++++++++++++++++++------------
1 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/opends/src/quicksetup/org/opends/quicksetup/installer/ui/SecurityOptionsDialog.java b/opends/src/quicksetup/org/opends/quicksetup/installer/ui/SecurityOptionsDialog.java
index 743787c..2957732 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/installer/ui/SecurityOptionsDialog.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/installer/ui/SecurityOptionsDialog.java
@@ -100,6 +100,7 @@
private SecurityOptions securityOptions;
private String[] aliases;
+ private boolean certificateHasAlias;
private String selectedAlias;
private final int DEFAULT_PORT = 636;
@@ -663,10 +664,11 @@
*/
private void okClicked()
{
- BackgroundTask worker = new BackgroundTask()
+ BackgroundTask<ArrayList<Message>> worker =
+ new BackgroundTask<ArrayList<Message>>()
{
@Override
- public Object processBackgroundTask()
+ public ArrayList<Message> processBackgroundTask()
{
ArrayList<Message> errorMsgs = new ArrayList<Message>();
@@ -678,7 +680,7 @@
}
@Override
- public void backgroundTaskCompleted(Object returnValue,
+ public void backgroundTaskCompleted(ArrayList<Message> returnValue,
Throwable throwable)
{
if (throwable != null)
@@ -695,16 +697,10 @@
{
cancelButton.setEnabled(true);
okButton.setEnabled(true);
- ArrayList ar = (ArrayList)returnValue;
- if (ar.size() > 0)
+ if (returnValue.size() > 0)
{
- ArrayList<Message> errorMsgs = new ArrayList<Message>();
- for (Object o: ar)
- {
- errorMsgs.add((Message)o);
- }
- displayError(Utils.getMessageFromCollection(errorMsgs, "\n"),
+ displayError(Utils.getMessageFromCollection(returnValue, "\n"),
INFO_ERROR_TITLE.get());
}
else
@@ -712,7 +708,13 @@
if (rbUseExistingCertificate.isSelected() &&
(cbEnableSSL.isSelected() || cbEnableStartTLS.isSelected()))
{
- if (aliases.length > 1)
+ if (!certificateHasAlias)
+ {
+ selectedAlias = null;
+ isCancelled = false;
+ dispose();
+ }
+ else if (aliases.length > 1)
{
if (aliasDlg == null)
{
@@ -1050,6 +1052,10 @@
pathValid = false;
}
}
+ else
+ {
+ certificateHasAlias = certManager.hasRealAliases();
+ }
}
catch (KeyStoreException ke)
{
--
Gitblit v1.10.0