dev@glassfish.java.net

InvalidAlgorithmParameterException?

From: Bobby Bissett <Robert.Bissett_at_Sun.COM>
Date: Thu, 12 Nov 2009 20:09:34 -0500

I'll be able to look at this tomorrow, but it's new territory for me.
Can someone tell me why an application would get an
InvalidAlgorithmParameterException when executing an app client?

Begin forwarded message:

> From: 1xpert_at_dev.java.net
> Date: November 12, 2009 6:54:06 PM EST
> To: bbissett_at_dev.java.net
> Subject: [Issue 11013] [upgrade_tool] New - [REGRESSION] got
> MarshalException for ssl/security
>
> https://glassfish.dev.java.net/issues/show_bug.cgi?id=11013
> Issue #|11013
> Summary|[REGRESSION] got MarshalException for ssl/
> security
> Component|glassfish
> Version|V3
> Platform|All
> OS/Version|All
> URL|
> Status|UNCONFIRMED
> Status whiteboard|
> Keywords|
> Resolution|
> Issue type|DEFECT
> Priority|P3
> Subcomponent|upgrade_tool
> Assigned to|bbissett
> Reported by|1xpert
>
>
>
>
>
>
> ------- Additional comments from 1xpert_at_dev.java.net Thu Nov 12
> 23:54:05 +0000 2009 -------
> Sideybside upgrade from v2.1 to v3 build 72 on linux 5.0 and cli mode
> Using build v3 latest-glassfish.zip from http://glassfish.dev.java.net
> 11-Nov-2009 16:14 73M
>
>
> After upgrade to v3, could not run get client stubs for application
>
>
> Steps to reproduce:
> 1) install v2.1, start domain
>
> 2) checkout quicklooks test
>
> set variables:
> set CVSROOT to :pserver:<your java.net id>@cvs.dev.java.net:/cvs
> set APS_HOME to point to <quicklooks workspace>/appserv-tests
> set S1AS_HOME to point to appserver or glassfish server
> set JAVA_HOME to point to 1.6.0_14
> set ANT_HOME to point to 1.6.5
> set PATH to point to $ANT_HOME/bin:$JAVA_HOME/bin:$PATH
>
> cvs login
> cvs co -r SJSAS91_FCS_BRANCH glassfish/appserv-tests
>
> cd <workspace>/appserv-tests/sqetests/security/ssl/converter
>
> execute ant clean build setup deploy run (do not run "ant undeploy
> unsetup")
>
> 3) stop domain1
>
> 4) install v3
>
> 5) run "asupgrade" tool from <v3 installation>/bin/asupgrade -c
>
>
>
> After upgrade, run the test manually:
>
> [root_at_easqelx14 converter]# /usr/nga/v3/glassfishv3/glassfish/bin/
> asadmin
> get-client-stubs --appname sec-ssl-converterApp .
>
> Command get-client-stubs executed successfully.
> [root_at_easqelx14 converter]# /usr/nga/v3/glassfishv3/glassfish/bin/
> appclient
> -client ./sec-ssl-converterAppClient.jar
> Nov 12, 2009 8:36:01 AM
> com.sun.enterprise.transaction.JavaEETransactionManagerSimplified
> initDelegates
> INFO: Using
> com
> .sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate
> as the
> delegate
> Default Context Initialized...
> Value of key is: Converter Sample AppClient
> Caught an unexpected exception!
> java.rmi.MarshalException: CORBA COMM_FAILURE 1398079691 Maybe;
> nested exception is:
> org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 203
> completed: Maybe
> at
> com
> .sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:
> 270)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .presentation
> .rmi
> .StubInvocationHandlerImpl
> .privateInvoke(StubInvocationHandlerImpl.java:200)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .presentation
> .rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:
> 147)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .presentation
> .rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:225)
> at
> com
> .sun
> .s1peqe
> .security
> .ssl.converter.ejb._ConverterRemoteHome_DynamicStub.create(com/sun/
> s1peqe/security/ssl/converter/ejb/
> _ConverterRemoteHome_DynamicStub.java)
> at
> com
> .sun
> .s1peqe
> .security
> .ssl.converter.client.ConverterClient.run(ConverterClient.java:115)
> at
> com
> .sun
> .s1peqe
> .security
> .ssl.converter.client.ConverterClient.main(ConverterClient.java:72)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun
> .reflect
> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun
> .reflect
> .DelegatingMethodAccessorImpl
> .invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org
> .glassfish
> .appclient
> .client.acc.AppClientContainer.launch(AppClientContainer.java:424)
> at
> org
> .glassfish
> .appclient.client.AppClientFacade.launch(AppClientFacade.java:151)
> at
> org
> .glassfish
> .appclient
> .client.AppClientGroupFacade.main(AppClientGroupFacade.java:64)
> Caused by: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 203
> completed:
> Maybe
> at
> com
> .sun
> .corba
> .ee
> .impl
> .logging
> .ORBUtilSystemException.writeErrorSend(ORBUtilSystemException.java:
> 3462)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .transport
> .SocketOrChannelConnectionImpl
> .sendWithoutLock(SocketOrChannelConnectionImpl.java:1127)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .encoding
> .BufferManagerWriteStream.sendFragment(BufferManagerWriteStream.java:
> 148)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .encoding
> .BufferManagerWriteStream.sendMessage(BufferManagerWriteStream.java:
> 162)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .encoding.CDROutputObject.finishSendingMessage(CDROutputObject.java:
> 180)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .protocol
> .CorbaMessageMediatorImpl
> .finishSendingRequest(CorbaMessageMediatorImpl.java:276)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .protocol
> .CorbaClientRequestDispatcherImpl
> .marshalingComplete1(CorbaClientRequestDispatcherImpl.java:392)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .protocol
> .CorbaClientRequestDispatcherImpl
> .marshalingComplete(CorbaClientRequestDispatcherImpl.java:364)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .protocol
> .CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:235)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .presentation
> .rmi
> .StubInvocationHandlerImpl
> .privateInvoke(StubInvocationHandlerImpl.java:187)
> ... 12 more
> Caused by: javax.net.ssl.SSLException: java.lang.RuntimeException:
> Unexpected
> error: java.security.InvalidAlgorithmParameterException: the
> trustAnchors
> parameter must be non-empty
> at
> com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:190)
> at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:
> 1611)
> at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:
> 1574)
> at
> com
> .sun
> .net
> .ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:
> 1557)
> at
> com
> .sun
> .net
> .ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:
> 1483)
> at
> com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:
> 86)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .transport
> .SocketOrChannelConnectionImpl
> .readFully(SocketOrChannelConnectionImpl.java:653)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .transport
> .SocketOrChannelConnectionImpl
> .read(SocketOrChannelConnectionImpl.java:477)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .protocol.giopmsgheaders.MessageBase.readGIOPHeader(MessageBase.java:
> 133)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .protocol
> .giopmsgheaders.MessageBase.readGIOPMessage(MessageBase.java:121)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .transport
> .CorbaContactInfoBase
> .createMessageMediator(CorbaContactInfoBase.java:150)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .transport
> .SocketOrChannelConnectionImpl
> .readBits(SocketOrChannelConnectionImpl.java:374)
> at
> com
> .sun
> .corba
> .ee
> .impl
> .transport
> .SocketOrChannelConnectionImpl
> .read(SocketOrChannelConnectionImpl.java:341)
> at
> com
> .sun
> .corba
> .ee.impl.transport.ReaderThreadImpl.doWork(ReaderThreadImpl.java:118)
> at
> com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl
> $WorkerThread.performWork(ThreadPoolImpl.java:492)
> at
> com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl
> $WorkerThread.run(ThreadPoolImpl.java:528)
> Caused by: java.lang.RuntimeException: Unexpected error:
> java.security.InvalidAlgorithmParameterException: the trustAnchors
> parameter
> must be non-empty
> at
> sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:59)
> at
> sun.security.validator.Validator.getInstance(Validator.java:161)
> at
> com
> .sun
> .net
> .ssl
> .internal
> .ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:108)
> at
> com
> .sun
> .net
> .ssl
> .internal
> .ssl
> .X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:
> 204)
> at
> com
> .sun
> .net
> .ssl
> .internal
> .ssl
> .X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:
> 249)
> at
> com
> .sun
> .net
> .ssl
> .internal
> .ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1014)
> at
> com
> .sun
> .net
> .ssl
> .internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:
> 124)
> at
> com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:
> 516)
> at
> com
> .sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:
> 454)
> at
> com
> .sun
> .net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:884)
> at
> com
> .sun
> .net
> .ssl
> .internal
> .ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1112)
> at
> com
> .sun
> .net
> .ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:744)
> at
> com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:
> 75)
> ... 10 more
> Caused by: java.security.InvalidAlgorithmParameterException: the
> trustAnchors
> parameter must be non-empty
> at
> java
> .security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java:183)
> at
> java.security.cert.PKIXParameters.<init>(PKIXParameters.java:103)
> at
> java
> .security
> .cert.PKIXBuilderParameters.<init>(PKIXBuilderParameters.java:87)
> at
> sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:57)
> ... 22 more
> Generating report at
> /usr/nga/v3/workspace/v2/glassfish/appserv-tests/test_results.xml
>
>
> -----------------------------------------
> - Converter Sample AppClient: FAIL -
> -----------------------------------------
> Total PASS: 0
> Total FAIL: 1
> Total DID NOT RUN: 0
> -----------------------------------------
> in flushAll , creating new testSuiteHash
> in flushAll , creating new testSuiteHash