SourceForge.net
2005-01-20 10:39:01 UTC
Bugs item #1105874, was opened at 2005-01-20 11:39
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=474136&aid=1105874&group_id=54559
Category: None
Group: v0.7.6.1
Status: Open
Resolution: None
Priority: 5
Submitted By: Angelo R. Di Filippo (adifilip)
Assigned to: Nobody/Anonymous (nobody)
Summary: Https connector and other JSSEs (IBM in particular)
Initial Comment:
Hi all,
I tried to use the https connector of openjms with WAS
and in particular with IBM JDK and I found a lot of
problems. In particular the problem is in the
requirement of the sun JSSE by openjms and in the way
WAS works (every time WAS resets
java.protocol.handler.pkgs system property to its
default value).
To solve the problem I modified 4 classes:
org.exolab.jms.administration.http.SslHttpJmsAdminConnection
org.exolab.jms.client.http.SslHttpJmsServerStub
org.exolab.jms.jndi.http.SslHttpJndiInitialContextFactory
org.exolab.jms.server.http.HttpsJmsServer
Every time I found the code
System.setProperty(
"java.protocol.handler.pkgs",
"com.sun.net.ssl.internal.www.protocol");
Class providerClass =
Class.forName("com.sun.net.ssl.internal.ssl.Provider");
Provider provider = (Provider)
providerClass.newInstance();
Security.addProvider(provider);
I substituted it with
String props =
System.getProperty("java.protocol.handler.pkgs");
if (props == null) {
props = "";
}
StringTokenizer tokenizer = new
StringTokenizer(props, "|");
boolean notFound = true; while
(tokenizer.hasMoreTokens()) {
try {
Class.forName(tokenizer.nextToken() +
".https.Handler");
notFound = false;
break;
} catch (Exception e) {
}
}
if (props.length() > 0) {
props += "|";
}
if (notFound) {
System.setProperty(
"java.protocol.handler.pkgs",
props +
"com.sun.net.ssl.internal.www.protocol");
Class providerClass =
Class.forName("com.sun.net.ssl.internal.ssl.Provider");
Provider provider = (Provider)
providerClass.newInstance();
Security.addProvider(provider);
}
so that openjms can use the default implementation of jsse.
With this changes to start openjms server with IBM JDK
is neccessary to set in setenv
JAVA_OPT="-Djava.protocol.handler.pkgs=com.ibm.net.ssl.internal.www.protocol".
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=474136&aid=1105874&group_id=54559
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=474136&aid=1105874&group_id=54559
Category: None
Group: v0.7.6.1
Status: Open
Resolution: None
Priority: 5
Submitted By: Angelo R. Di Filippo (adifilip)
Assigned to: Nobody/Anonymous (nobody)
Summary: Https connector and other JSSEs (IBM in particular)
Initial Comment:
Hi all,
I tried to use the https connector of openjms with WAS
and in particular with IBM JDK and I found a lot of
problems. In particular the problem is in the
requirement of the sun JSSE by openjms and in the way
WAS works (every time WAS resets
java.protocol.handler.pkgs system property to its
default value).
To solve the problem I modified 4 classes:
org.exolab.jms.administration.http.SslHttpJmsAdminConnection
org.exolab.jms.client.http.SslHttpJmsServerStub
org.exolab.jms.jndi.http.SslHttpJndiInitialContextFactory
org.exolab.jms.server.http.HttpsJmsServer
Every time I found the code
System.setProperty(
"java.protocol.handler.pkgs",
"com.sun.net.ssl.internal.www.protocol");
Class providerClass =
Class.forName("com.sun.net.ssl.internal.ssl.Provider");
Provider provider = (Provider)
providerClass.newInstance();
Security.addProvider(provider);
I substituted it with
String props =
System.getProperty("java.protocol.handler.pkgs");
if (props == null) {
props = "";
}
StringTokenizer tokenizer = new
StringTokenizer(props, "|");
boolean notFound = true; while
(tokenizer.hasMoreTokens()) {
try {
Class.forName(tokenizer.nextToken() +
".https.Handler");
notFound = false;
break;
} catch (Exception e) {
}
}
if (props.length() > 0) {
props += "|";
}
if (notFound) {
System.setProperty(
"java.protocol.handler.pkgs",
props +
"com.sun.net.ssl.internal.www.protocol");
Class providerClass =
Class.forName("com.sun.net.ssl.internal.ssl.Provider");
Provider provider = (Provider)
providerClass.newInstance();
Security.addProvider(provider);
}
so that openjms can use the default implementation of jsse.
With this changes to start openjms server with IBM JDK
is neccessary to set in setenv
JAVA_OPT="-Djava.protocol.handler.pkgs=com.ibm.net.ssl.internal.www.protocol".
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=474136&aid=1105874&group_id=54559