bloritsch 01/10/26 06:07:54
Modified: src/org/apache/jmeter/util SSLManager.java
Log:
Remove direct dependancy on other classes.
Revision Changes Path
1.5 +24 -18 jakarta-jmeter/src/org/apache/jmeter/util/SSLManager.java
Index: SSLManager.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/org/apache/jmeter/util/SSLManager.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- SSLManager.java 2001/10/24 15:46:55 1.4
+++ SSLManager.java 2001/10/26 13:07:54 1.5
@@ -57,9 +57,8 @@
import java.io.File;
import java.io.FileInputStream;
-import java.security.cert.Certificate;
-import java.security.cert.X509Certificate;
-import java.security.*;
+import java.security.Provider;
+import java.security.Security;
import java.util.ArrayList;
import java.util.Enumeration;
@@ -70,10 +69,9 @@
import javax.swing.JOptionPane;
-import com.sun.net.ssl.*;
-
import org.apache.jmeter.gui.GuiPackage;
-import iaik.protocol.https.HttpsURLStreamHandlerFactory;
+
+import java.lang.reflect.Constructor;
/**
* The SSLManager handles the KeyStore information for JMeter. Basically, it
@@ -83,7 +81,7 @@
* make a decision, it will pop open a dialog asking you for more information.
*
* @author <a href="[EMAIL PROTECTED]">Berin Loritsch</a>
- * @version CVS $Revision: 1.4 $ $Date: 2001/10/24 15:46:55 $
+ * @version CVS $Revision: 1.5 $ $Date: 2001/10/26 13:07:54 $
*/
public abstract class SSLManager {
/** Singleton instance of the manager */
@@ -114,11 +112,22 @@
public static final SSLManager getInstance() {
if (null == SSLManager.manager) {
if (SSLManager.isSSLSupported) {
+ String classname = null;
if (SSLManager.isIAIKProvider) {
- SSLManager.manager = new IaikSSLManager(SSLManager.sslProvider);
+ classname = "org.apache.jmeter.util.IaikSSLManager";
} else {
- SSLManager.manager = new JsseSSLManager(SSLManager.sslProvider);
+ classname = "org.apache.jmeter.util.JsseSSLManager";
}
+
+ try {
+ Class clazz =
SSLManager.class.getClassLoader().loadClass(classname);
+ Constructor constructor = clazz.getConstructor(new Class[]
{SSLManager.sslProvider.getClass()});
+ SSLManager.manager = (SSLManager) constructor.newInstance(new
Object[] {SSLManager.sslProvider});
+ } catch (Exception e) {
+ e.printStackTrace(System.err);
+ SSLManager.isSSLSupported = false;
+ return null;
+ }
}
}
@@ -127,16 +136,16 @@
/**
* Test wether SSL is supported or not.
- */
+ */
public static final boolean isSSLSupported() {
return SSLManager.isSSLSupported;
}
// moved from SSLStaticProvider so all SSL specific management is done in one
place.
static
- {
+ {
try {
- SSLManager.sslProvider =
(Provider)Class.forName(JMeterUtils.getPropDefault("ssl.provider",null)).newInstance();
+ SSLManager.sslProvider =
(Provider)Class.forName(JMeterUtils.getPropDefault("ssl.provider",null)).newInstance();
} catch (Exception ssl) {
try {
Class iaikProvider =
SSLManager.class.getClassLoader().loadClass("iaik.security.jsse.provider.IAIKJSSEProvider");
@@ -165,17 +174,14 @@
// register https protocol handler. JSSE needs a provider--but iSaSiLk
does not.
if (null != protocol) {
+ System.setProperty("java.protocol.handler.pkgs", protocol);
if ("iaik.protocol".equals(protocol)) {
- System.setProperty("java.protocol.handler.pkgs", "iaik.protocol");
SSLManager.isIAIKProvider = true;
- } else {
- System.setProperty("java.protocol.handler.pkgs", protocol);
- URL.setURLStreamHandlerFactory(new HttpsURLStreamHandlerFactory());
}
-
+
SSLManager.isSSLSupported = true;
} else {
SSLManager.isSSLSupported = false;
}
- }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]