VMware {code} Community
matrix123321
Contributor
Contributor
Jump to solution

Alternative for importing certificates..

Hi everyone,

I am using VI SDK 2.5,axis 1.4, IBm Jre 1.5 and ESX 3.5 , Now the problem is importin the certificates...I used

System.setProperty("axis.socketSecureFactory", "org.apache.axis.components.net.SunFakeTrustSocketFactory"); this works fine if use SUN Jre..But gives an error when i use IBm Jre

So is there any way i can do the same using IBm Jre..?

Thanks,

Reply
0 Kudos
1 Solution

Accepted Solutions
akutz
Hot Shot
Hot Shot
Jump to solution

You have to build Axis with the IBM SDK for the IBM classes to be present. Stupid, I know, but true.

View solution in original post

Reply
0 Kudos
13 Replies
akutz
Hot Shot
Hot Shot
Jump to solution

Reply
0 Kudos
matrix123321
Contributor
Contributor
Jump to solution

Hi akutz,

Thanks for u'r help but i am unable to find

org.apache.axis.components.net.IBMJSSESocketFactory and org.apache.axis.components.net.IBMFakeTrustSocketFactory in my axis.jar , i even downloaded new apache axis 1.4 and still i was unable to find those two..can u tell me y..?Below are the classes in the package org.apache.axis.components.net

BooleanHolder.class

CommonsHTTPClientProperties.class

CommonsHTTPClientPropertiesFactory.class

DefaultCommonsHTTPClientProperties.class

DefaultHTTPSTransportClientProperties.class

DefaultHTTPTransportClientProperties.class

DefaultSocketFactory.class

JSSESocketFactory.class

SecureSocketFactory.class

SocketFactory.class

SocketFactoryFactory.class

SunFakeTrustSocketFactory$FakeX509TrustManager.class

SunFakeTrustSocketFactory.class

SunJSSESocketFactory.class

TransportClientProperties.class

TransportClientPropertiesFactory.class

Reply
0 Kudos
akutz
Hot Shot
Hot Shot
Jump to solution

You have to build Axis with the IBM SDK for the IBM classes to be present. Stupid, I know, but true.

Reply
0 Kudos
matrix123321
Contributor
Contributor
Jump to solution

Hi akutz,

Oh ok i didn't knew that, thanks a lot for the info, also akutz when is u'r book(programing and managing vmware infrastructure) going to release..?(i am waiting for that..!)

Reply
0 Kudos
akutz
Hot Shot
Hot Shot
Jump to solution

Next summer hopefully. Thanks!

Reply
0 Kudos
matrix123321
Contributor
Contributor
Jump to solution

Also i was trying to build axis using IBM jre..got a lot of errors.. can u guide me to do the same..?

thanks..

Reply
0 Kudos
akutz
Hot Shot
Hot Shot
Jump to solution

Of the following what versions are you using:

1. Axis

2. IBM JDK

3. Ant

What version of what OS are you using to compile Axis on?

Reply
0 Kudos
akutz
Hot Shot
Hot Shot
Jump to solution

I was able to get it to compile. Here are the steps I followed:

1. I used Ubuntu 7.04 Feisty Fawn x64

2. I downloaded the source for Axis 1.4

3. I downloaded the IBM JDK and JRE 1.5 (1.6 does not work; it throws an exception in compilation)

4. I installed ant and ant-optional for Ubuntu (without the optional component you get an exception that the depends task is not supported)

5. I set JAVA_HOME to the IBM JDK directory.

6. I ran ant compile from the Axis directory. Voila!

Here is the build directory from the build tarred up for your benefit. I verified that the IBM fake trust factory was there.

matrix123321
Contributor
Contributor
Jump to solution

Oh cool,, thanks a lot

Reply
0 Kudos
matrix123321
Contributor
Contributor
Jump to solution

this is the error i get when i use it..

Exception in thread "main" java.lang.NoClassDefFoundError: com.ibm.net.ssl.SSLContext

at org.apache.axis.components.net.IBMFakeTrustSocketFactory.getContext(IBMFakeTrustSocketFactory.java:55)

at org.apache.axis.components.net.IBMJSSESocketFactory.initFactory(IBMJSSESocketFactory.java:99)

at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:79)

at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)

at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)

at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)

at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)

at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)

at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)

at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)

at org.apache.axis.client.Call.invokeEngine(Call.java:2784)

at org.apache.axis.client.Call.invoke(Call.java:2767)

at org.apache.axis.client.Call.invoke(Call.java:2443)

at org.apache.axis.client.Call.invoke(Call.java:2366)

at org.apache.axis.client.Call.invoke(Call.java:1812)

at com.vmware.vim25.VimBindingStub.retrieveServiceContent(VimBindingStub.java:32907)

Reply
0 Kudos
matrix123321
Contributor
Contributor
Jump to solution

Hi,

I got the answer,com.ibm.net.ssl.SSLContext has been "Deprecated".. the new class is in javax.net.ssl.Context... Now how shall i use " IBMFakeTrustSocketFactory"...?

Reply
0 Kudos
akutz
Hot Shot
Hot Shot
Jump to solution

I don't know. Can't you use the deprecated class anyway?

Reply
0 Kudos
matrix123321
Contributor
Contributor
Jump to solution

I dont think so.. anyways thanks for u'r help..

Reply
0 Kudos