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