Author: ruchith
Date: Sat Mar  1 04:40:22 2008
New Revision: 14390

Log:

Fixed a typo and a few more fixes suffested by findbugs

Modified:
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/IdentityProviderConstants.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/admin/KeystoreUtilAdmin.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/cards/CardIssuer.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/cards/Generator.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/persistence/dao/BaseDAO.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/resources.properties
   
trunk/solutions/identity/modules/identity-provider/src/test/java/org/wso2/solutions/identity/cards/GeneratorTest.java
   
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/servletfilter/RelyingPartyFilter.java

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/IdentityProviderConstants.java
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/IdentityProviderConstants.java
 (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/IdentityProviderConstants.java
 Sat Mar  1 04:40:22 2008
@@ -195,6 +195,21 @@
         public final static String USER_TRUSTED_RP_STORE_PASSWORD = 
"Security.UserTrustedRPStore.Password";
 
         public final static String USER_TRUSTED_RP_STORE_TYPE = 
"Security.UserTrustedRPStore.Type";
+        
+        /**
+         * Location of the identity provider main keystore
+         */
+        public final static String IDP_STORE_LOCATION = 
"Security.KeyStore.Location";
+        
+        /**
+         * Password of the identity provider main keystore
+         */
+        public final static String IDP_STORE_PASSWORD = 
"Security.KeyStore.Password";
+        
+        /**
+         * Store type of the identity provider main keystore
+         */
+        public final static String IDP_STORE_TYPE = "Security.KeyStore.Type";
 
     }
 

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/admin/KeystoreUtilAdmin.java
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/admin/KeystoreUtilAdmin.java
   (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/admin/KeystoreUtilAdmin.java
   Sat Mar  1 04:40:22 2008
@@ -16,53 +16,90 @@
 
 package org.wso2.solutions.identity.admin;
 
+import org.wso2.solutions.identity.IdentityProviderConstants;
+import org.wso2.solutions.identity.IdentityProviderException;
+import org.wso2.utils.ServerConfiguration;
+
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.security.KeyStore;
 import java.security.cert.X509Certificate;
 
-import org.wso2.solutions.identity.IdentityProviderConstants;
-import org.wso2.solutions.identity.IdentityProviderException;
-import org.wso2.utils.ServerConfiguration;
-
 public class KeystoreUtilAdmin {
 
-    public boolean isCertExists(X509Certificate cert)
-            throws IdentityProviderException {
+    /**
+     * Instance of the main keystore of the identity provider
+     */
+    private static KeyStore identityProviderKeystore = null;
+
+    /**
+     * Provides the instance of the main keystore of the identity provider.
+     * @return A java.security.Keystore instance
+     * @throws IdentityProviderException
+     */
+    private KeyStore getKeyStore() throws IdentityProviderException {
+
+        if(identityProviderKeystore != null) {
+            return identityProviderKeystore;
+        }
+
+        return loadKeystore();
+    }
+    
+    
+    /**
+     * Load the main keystore of the identity provider usign the configuration
+     * from the server.xml(org.wso2.util.ServerConfiguration).
+     * @return A java.security.Keystore instance
+     * @throws IdentityProviderException
+     */
+    private KeyStore loadKeystore() throws IdentityProviderException {
 
         ServerConfiguration serverConfig = ServerConfiguration.getInstance();
         String storeFilePath = serverConfig
-                .getFirstProperty("Security.KeyStore.Location");
-        String type = serverConfig.getFirstProperty("Security.KeyStore.Type");
+                
.getFirstProperty(IdentityProviderConstants.ServerConfig.IDP_STORE_LOCATION);
+        String type = 
serverConfig.getFirstProperty(IdentityProviderConstants.ServerConfig.IDP_STORE_TYPE);
         String passwd = serverConfig
-                .getFirstProperty("Security.KeyStore.Password");
+                
.getFirstProperty(IdentityProviderConstants.ServerConfig.IDP_STORE_PASSWORD);
 
         try {
             FileInputStream is = new FileInputStream(storeFilePath);
 
-            KeyStore store = KeyStore.getInstance(type);
+            identityProviderKeystore = KeyStore.getInstance(type);
 
-            store.load(is, passwd.toCharArray());
-            return store.containsAlias(getAlias(cert));
+            identityProviderKeystore.load(is, passwd.toCharArray());
+            is.close();
+            return identityProviderKeystore;
         } catch (Exception e) {
             throw new IdentityProviderException("errorInKeystoreAccess",
                     new String[] { storeFilePath }, e);
         }
+        
+        
+    }
+    
+    public boolean isCertExists(X509Certificate cert)
+            throws IdentityProviderException {
+        try {
+            return getKeyStore().containsAlias(getAlias(cert));
+        } catch (Exception e) {
+            throw new IdentityProviderException("errorReadingKeystore", e);
+        }
+
     }
 
     public String importCert(X509Certificate cert)
             throws IdentityProviderException {
+
+        KeyStore store = getKeyStore();
         ServerConfiguration serverConfig = ServerConfiguration.getInstance();
         String storeFilePath = serverConfig
-                .getFirstProperty("Security.KeyStore.Location");
-        String type = serverConfig.getFirstProperty("Security.KeyStore.Type");
+                
.getFirstProperty(IdentityProviderConstants.ServerConfig.IDP_STORE_LOCATION);
         String passwd = serverConfig
-                .getFirstProperty("Security.KeyStore.Password");
+                
.getFirstProperty(IdentityProviderConstants.ServerConfig.IDP_STORE_PASSWORD);
         String alias = null;
         try {
-            FileInputStream is = new FileInputStream(storeFilePath);
-            KeyStore store = KeyStore.getInstance(type);
-            store.load(is, passwd.toCharArray());
+            
             alias = getAlias(cert);
             if (store.getCertificate(alias) != null) {
                 throw new IdentityProviderException("relyingPartyExists",
@@ -72,11 +109,14 @@
             FileOutputStream os = new FileOutputStream(storeFilePath);
             store.store(os, passwd.toCharArray());
             os.flush();
+            os.close();
         } catch (Exception e) {
             throw new IdentityProviderException("errorInKeystoreAccess",
                     new String[] { storeFilePath }, e);
         }
 
+        //Make sure we load the new store with the new cert info
+        loadKeystore();
         return alias;
 
     }
@@ -109,6 +149,7 @@
                 FileOutputStream os = new FileOutputStream(storeFilePath);
                 store.store(os, passwd.toCharArray());
                 os.flush();
+                os.close();
             }
         } catch (Exception e) {
             throw new IdentityProviderException("errorInKeystoreAccess",
@@ -148,31 +189,21 @@
      * @throws IdentityProviderException
      */
     public void deleteRelyingParty(String alias) throws 
IdentityProviderException {
-        ServerConfiguration serverConfig = ServerConfiguration.getInstance();
-        String storeFilePath = serverConfig
-                .getFirstProperty("Security.KeyStore.Location");
-        String type = serverConfig.getFirstProperty("Security.KeyStore.Type");
-        String passwd = serverConfig
-                .getFirstProperty("Security.KeyStore.Password");
-        try {
-            FileInputStream is = new FileInputStream(storeFilePath);
 
-            KeyStore store = KeyStore.getInstance(type);
-
-            store.load(is, passwd.toCharArray());
+        KeyStore store = getKeyStore();
+        try {
 
             if (store.containsAlias(alias) && !store.isKeyEntry(alias)) {
                 // If this is not the private key entry remove it
                 store.deleteEntry(alias);
             }
         } catch (Exception e) {
-            throw new IdentityProviderException("errorInKeystoreAccess",
-                    new String[] { storeFilePath }, e);
+            throw new IdentityProviderException("errorReadingKeystore", e);
         }
     }
 
     /**
-     * Removes the Certificat from User trusted RP store
+     * Removes the Certificate from User trusted RP store
      * 
      * @param alias
      * @throws IdentityProviderException

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/cards/CardIssuer.java
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/cards/CardIssuer.java
  (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/cards/CardIssuer.java
  Sat Mar  1 04:40:22 2008
@@ -148,7 +148,7 @@
             String alias = serverConfig
                     .getFirstProperty("Security.KeyStore.KeyAlias");
             Certificate[] certs = store.getCertificateChain(alias);
-            gen.setCertCain(certs);
+            gen.setCertChain(certs);
             gen.setPrivateKey((PrivateKey) store.getKey(alias, serverConfig
                     .getFirstProperty("Security.KeyStore.KeyPassword")
                     .toCharArray()));

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/cards/Generator.java
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/cards/Generator.java
   (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/cards/Generator.java
   Sat Mar  1 04:40:22 2008
@@ -48,7 +48,7 @@
 
     private X509Certificate cert;
 
-    private Certificate[] certCain;
+    private Certificate[] certChain;
 
     private String signatureAlgorithm;
 
@@ -88,8 +88,8 @@
             sig.addDocument("#" + id, transforms,
                             Constants.ALGO_ID_DIGEST_SHA1);
 
-            if (this.certCain != null && this.certCain.length > 0) {
-                sig.addKeyInfo(this.certCain);
+            if (this.certChain != null && this.certChain.length > 0) {
+                sig.addKeyInfo(this.certChain);
             } else {
                 sig.addKeyInfo(this.cert);
             }
@@ -135,11 +135,8 @@
         this.cert = cert;
     }
 
-    public void setCertCain(Certificate[] certCain) {
-        this.certCain = certCain;
+    public void setCertChain(Certificate[] certCain) {
+        this.certChain = certCain;
     }
 
-    public Certificate[] getCertCain() {
-        return certCain;
-    }
 }

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/persistence/dao/BaseDAO.java
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/persistence/dao/BaseDAO.java
   (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/persistence/dao/BaseDAO.java
   Sat Mar  1 04:40:22 2008
@@ -32,7 +32,7 @@
 
        public static final Log log = LogFactory.getLog(BaseDAO.class);
 
-    protected static Messages messages = Messages
+    protected static final Messages messages = Messages
             .getInstance(IdentityProviderConstants.RESOURCES);
 
     HibernateConfig hbConfig = null;

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/resources.properties
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/resources.properties
   (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/resources.properties
   Sat Mar  1 04:40:22 2008
@@ -50,7 +50,8 @@
 nullAction = Invalid actionId
 deletedRp = Deleted trusted relying party : {0}
 relyingPartyExists = Relying party {0} already exists
-errorInKeystoreAccess = Error accessing keystore
+errorInKeystoreAccess = Error accessing keystore: {0}
+errorReadingKeystore = Error reading keystore contents
 emailNotActivated = Email Verification not activted now, but all parameters 
are saved. It will be activated when DefaultRealm is selected.
 noValueForRequestedAttribute = Value of attribute "{0}" missing
 SAMLTokenDirectorBootstrapError = SAMLTokenDirector bootstrap error

Modified: 
trunk/solutions/identity/modules/identity-provider/src/test/java/org/wso2/solutions/identity/cards/GeneratorTest.java
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/test/java/org/wso2/solutions/identity/cards/GeneratorTest.java
       (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/test/java/org/wso2/solutions/identity/cards/GeneratorTest.java
       Sat Mar  1 04:40:22 2008
@@ -69,7 +69,7 @@
                 .getCertificate(ALIAS);
         gen.setCert(certificate);
 
-        gen.setCertCain(store.getCertificateChain(ALIAS));
+        gen.setCertChain(store.getCertificateChain(ALIAS));
 
         PrivateKey pk = (PrivateKey) store
                 .getKey(ALIAS, PASSWORD.toCharArray());

Modified: 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/servletfilter/RelyingPartyFilter.java
==============================================================================
--- 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/servletfilter/RelyingPartyFilter.java
   (original)
+++ 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/servletfilter/RelyingPartyFilter.java
   Sat Mar  1 04:40:22 2008
@@ -37,7 +37,7 @@
 
 public class RelyingPartyFilter implements Filter {
 
-    public static Log log = LogFactory.getLog(RelyingPartyFilter.class);
+    private static Log log = LogFactory.getLog(RelyingPartyFilter.class);
 
     public RelyingPartyData data = null;
     static {

_______________________________________________
Identity-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/identity-dev

Reply via email to