You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ja...@apache.org on 2007/04/26 05:45:41 UTC

svn commit: r532595 - /ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/KeyStoreUtil.java

Author: jaz
Date: Wed Apr 25 20:45:40 2007
New Revision: 532595

URL: http://svn.apache.org/viewvc?view=rev&rev=532595
Log:
fixed X500 converter to support commas in names (broken since it is split on comma)

Modified:
    ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/KeyStoreUtil.java

Modified: ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/KeyStoreUtil.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/KeyStoreUtil.java?view=diff&rev=532595&r1=532594&r2=532595
==============================================================================
--- ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/KeyStoreUtil.java (original)
+++ ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/KeyStoreUtil.java Wed Apr 25 20:45:40 2007
@@ -31,6 +31,8 @@
 import java.security.spec.PKCS8EncodedKeySpec;
 import java.util.Collection;
 import java.util.Map;
+import java.util.regex.Pattern;
+import java.util.regex.Matcher;
 
 import javolution.util.FastMap;
 
@@ -53,7 +55,7 @@
 
     public static KeyStore getComponentKeyStore(String componentName, String keyStoreName) throws IOException, GeneralSecurityException, GenericConfigException {
         ComponentConfig.KeystoreInfo ks = ComponentConfig.getKeystoreInfo(componentName, keyStoreName);
-        return getStore(ks.createResourceHandler().getURL(), ks.getType(), ks.getPassword());
+        return getStore(ks.createResourceHandler().getURL(), ks.getPassword(), ks.getType());
     }
 
     public static KeyStore getStore(URL url, String password) throws IOException, GeneralSecurityException {
@@ -92,11 +94,14 @@
     public static Map getCertX500Map(X509Certificate cert) {
         X500Principal x500 = cert.getSubjectX500Principal();
         Map x500Map = FastMap.newInstance();
-
-        String[] x500Opts = x500.getName().split("\\,");
+        
+        String name = x500.getName().replaceAll("\\\\,", "&com;");
+        String[] x500Opts = name.split("\\,");
         for (int x = 0; x < x500Opts.length; x++) {
-            String[] nv = x500Opts[x].split("\\=", 2);
-            x500Map.put(nv[0], nv[1]);
+            if (x500Opts[x].indexOf("=") > -1) {
+                String[] nv = x500Opts[x].split("\\=", 2);                
+                x500Map.put(nv[0].replaceAll("&com;", ","), nv[1].replaceAll("&com;", ","));
+            }
         }
 
         return x500Map;