From 469c956edef5cc1cb4771c1cc5c8bc780a10bbd0 Mon Sep 17 00:00:00 2001
From: lutoff <lutoff@localhost>
Date: Tue, 19 Jun 2007 06:56:52 +0000
Subject: [PATCH] prevent NullPointerException

---
 opends/src/ads/org/opends/admin/ads/util/ApplicationKeyManager.java |   57 +++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 49 insertions(+), 8 deletions(-)

diff --git a/opends/src/ads/org/opends/admin/ads/util/ApplicationKeyManager.java b/opends/src/ads/org/opends/admin/ads/util/ApplicationKeyManager.java
index eaf7a41..99f86c2 100644
--- a/opends/src/ads/org/opends/admin/ads/util/ApplicationKeyManager.java
+++ b/opends/src/ads/org/opends/admin/ads/util/ApplicationKeyManager.java
@@ -92,7 +92,7 @@
         if (kms[i] instanceof X509KeyManager)
         {
           sunJSSEX509KeyManager = (X509KeyManager) kms[i];
-          return;
+          break;
         }
       }
 
@@ -129,7 +129,14 @@
   public String chooseClientAlias(String[] keyType, Principal[] issuers,
       Socket socket)
   {
-    return sunJSSEX509KeyManager.chooseClientAlias(keyType, issuers, socket);
+    if (sunJSSEX509KeyManager != null)
+    {
+      return sunJSSEX509KeyManager.chooseClientAlias(keyType, issuers, socket);
+    }
+    else
+    {
+      return null ;
+    }
   }
 
   /**
@@ -138,7 +145,14 @@
   public String chooseServerAlias(String keyType, Principal[] issuers,
       Socket socket)
   {
-    return sunJSSEX509KeyManager.chooseServerAlias(keyType, issuers, socket);
+    if (sunJSSEX509KeyManager != null)
+    {
+      return sunJSSEX509KeyManager.chooseServerAlias(keyType, issuers, socket);
+    }
+    else
+    {
+      return null;
+    }
   }
 
   /**
@@ -146,7 +160,14 @@
    */
   public X509Certificate[] getCertificateChain(String alias)
   {
-    return sunJSSEX509KeyManager.getCertificateChain(alias);
+    if (sunJSSEX509KeyManager != null)
+    {
+      return sunJSSEX509KeyManager.getCertificateChain(alias);
+    }
+    else
+    {
+      return null;
+    }
   }
 
   /**
@@ -154,7 +175,14 @@
    */
   public String[] getClientAliases(String keyType, Principal[] issuers)
   {
-    return sunJSSEX509KeyManager.getClientAliases(keyType, issuers);
+    if (sunJSSEX509KeyManager != null)
+    {
+      return sunJSSEX509KeyManager.getClientAliases(keyType, issuers);
+    }
+    else
+    {
+      return null;
+    }
   }
 
   /**
@@ -162,7 +190,14 @@
    */
   public PrivateKey getPrivateKey(String alias)
   {
-    return sunJSSEX509KeyManager.getPrivateKey(alias);
+    if (sunJSSEX509KeyManager != null)
+    {
+      return sunJSSEX509KeyManager.getPrivateKey(alias);
+    }
+    else
+    {
+      return null;
+    }
   }
 
   /**
@@ -170,7 +205,13 @@
    */
   public String[] getServerAliases(String keyType, Principal[] issuers)
   {
-    return sunJSSEX509KeyManager.getServerAliases(keyType, issuers);
+    if (sunJSSEX509KeyManager != null)
+    {
+      return sunJSSEX509KeyManager.getServerAliases(keyType, issuers);
+    }
+    else
+    {
+      return null;
+    }
   }
-
 }

--
Gitblit v1.10.0