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/23 20:05:37 UTC
svn commit: r531546 - in
/ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util: KeyStoreUtil.java
SSLUtil.java
Author: jaz
Date: Mon Apr 23 11:05:36 2007
New Revision: 531546
URL: http://svn.apache.org/viewvc?view=rev&rev=531546
Log:
changed loop to use Arrays method; added a few methods for reading/writing keystores (not fully tested yet)
Modified:
ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/KeyStoreUtil.java
ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/SSLUtil.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=531546&r1=531545&r2=531546
==============================================================================
--- 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 Mon Apr 23 11:05:36 2007
@@ -25,13 +25,16 @@
import java.io.*;
import java.net.URL;
import java.security.*;
+import java.security.cert.*;
import java.security.cert.Certificate;
-import java.security.cert.CertificateEncodingException;
-import java.security.cert.CertificateException;
-import java.security.cert.CertificateFactory;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.PKCS8EncodedKeySpec;
import java.util.Collection;
+import java.util.Map;
+
+import javolution.util.FastMap;
+
+import javax.security.auth.x500.X500Principal;
/**
* KeyStoreUtil - Utilities for getting KeyManagers and TrustManagers
@@ -41,6 +44,13 @@
public static final String module = KeyStoreUtil.class.getName();
+ public static void storeComponentKeyStore(String componentName, String keyStoreName, KeyStore store) throws IOException, GenericConfigException, NoSuchAlgorithmException, CertificateException, KeyStoreException {
+ ComponentConfig.KeystoreInfo ks = ComponentConfig.getKeystoreInfo(componentName, keyStoreName);
+ File file = new File(ks.createResourceHandler().getFullLocation());
+ FileOutputStream out = new FileOutputStream(file);
+ store.store(out, ks.getPassword().toCharArray());
+ }
+
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());
@@ -73,6 +83,25 @@
return null;
}
+ public static X509Certificate readCertificate(byte[] certChain) throws CertificateException {
+ CertificateFactory cf = CertificateFactory.getInstance("X.509");
+ ByteArrayInputStream bais = new ByteArrayInputStream(certChain);
+ return (X509Certificate) cf.generateCertificate(bais);
+ }
+
+ public static Map getCertX500Map(X509Certificate cert) {
+ X500Principal x500 = cert.getSubjectX500Principal();
+ Map x500Map = FastMap.newInstance();
+
+ String[] x500Opts = x500.getName().split("\\,");
+ for (int x = 0; x < x500Opts.length; x++) {
+ String[] nv = x500Opts[x].split("\\=");
+ x500Map.put(nv[0], nv[1]);
+ }
+
+ return x500Map;
+ }
+
public static void importPKCS8CertChain(KeyStore ks, String alias, byte[] keyBytes, String keyPass, byte[] certChain) throws InvalidKeySpecException, NoSuchAlgorithmException, CertificateException, KeyStoreException {
// load the private key
KeyFactory kf = KeyFactory.getInstance("RSA");
Modified: ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/SSLUtil.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/SSLUtil.java?view=diff&rev=531546&r1=531545&r2=531546
==============================================================================
--- ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/SSLUtil.java (original)
+++ ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/SSLUtil.java Mon Apr 23 11:05:36 2007
@@ -89,11 +89,7 @@
}
}
- KeyManager[] arr = new KeyManager[keyMgrs.size()];
- for (int x = 0; x < arr.length; x++) {
- arr[x] = (KeyManager) keyMgrs.get(x);
- }
- return arr;
+ return (KeyManager[]) keyMgrs.toArray(new KeyManager[keyMgrs.size()]);
}
public static KeyManager[] getKeyManagers() throws IOException, GeneralSecurityException, GenericConfigException {
@@ -114,11 +110,7 @@
}
}
- TrustManager[] arr = new TrustManager[trustMgrs.size()];
- for (int x = 0; x < arr.length; x++) {
- arr[x] = (TrustManager) trustMgrs.get(x);
- }
- return arr;
+ return (TrustManager[]) trustMgrs.toArray(new TrustManager[trustMgrs.size()]);
}
public static KeyManager[] getKeyManagers(KeyStore ks, String password, String alias) throws GeneralSecurityException {