SSL Socket handshake problem

  • Follow


Hi.
I'm new with SSL socket so I need some assistance or advice.
I'm testing jsee example SSLSocketClientWithClientAuth.java with my own
provider witch is creating JKS.
My code looks like this:
#########################################################################
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(null, SSLKEY_PASSWORD);
KeyPair keyPair = getKeys();//this method returns KeyPair using my
provider (from HSM);
ks.setCertificateEntry("MYROOT_ALIAS", certRoot);//certRoot is ca
certificate
ks.setKeyEntry(alias, keyPair.getPrivate(),
SSLKEY_PASSWORD,certSSLchain);
//certSSLchain is X509 array: ca cert and key pair cert
Certificate[] certs = ks.getCertificateChain(alias);

//key manager
KeyManagerFactory kmf =
KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(ks, SSLKEY_PASSWORD);

//trust manager
TrustManagerFactory tmf =
TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
tmf.init(ks);

SSLContext ctx = SSLContext.getInstance("TLS");
ctx.init(kmf.getKeyManagers(),tmf.getTrustManagers(), null);
SSLSocketFactory sf = ctx.getSocketFactory();

SSLSocket socket = (SSLSocket) sf.createSocket(destipaddress, 443);

socket.startHandshake(); --> here error is thrown
#########################################################################
Error is:
java.lang.NoClassDefFoundError
	at javax.crypto.Cipher.getInstance(DashoA12275)
	at com.sun.net.ssl.internal.ssl.JsseJce.getCipher(JsseJce.java:90)
	at com.sun.net.ssl.internal.ssl.RSACipher.<init>(RSACipher.java:35)
	at
com.sun.net.ssl.internal.ssl.RSACipher.getInstance(RSACipher.java:69)
	at
com.sun.net.ssl.internal.ssl.PreMasterSecret.<init>(PreMasterSecret.java:82)
	at
com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:514)
	at
com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:160)
	at
com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:495)
	at
com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:433)
	at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:815)
	at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1025)
	at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1038)
	at hr.logos.acs.mon.ah.ssl.HTTPSSender.send(HTTPSSender.java:204)
	at hr.logos.acs.mon.ah.ssl.HTTPSSender.main(HTTPSSender.java:365)

This is my security provider list:
[1] - MyProvider
[2] - SunJCE
[3] - SunRsaSign
[4] - SunJSSE
[5] - SUN
[6] - SunJGSS
[7] - SunSASL

Environment: java 1.5 on Windows XP.
My provider is nCypher provider. I'm using nCypher HSM for storing
keys.
Can anyone give me a hint? Can anyone gas what is the problem?
Has any one encountered similar problem?
Thanks for your help.
Alan

0
Reply aklikic952 (25) 9/22/2006 8:59:04 AM


0 Replies
330 Views

(page loaded in 0.372 seconds)

Similiar Articles:













7/23/2012 9:20:05 PM


Reply: