OS: OES 2 Linux
ZDM: ZDML7SP1_IR3a

Hi all,

We migrated our Zenworks server from NetWare to OES2 Linux several months ago, and since the migration Wake-On-LAN hasn't been working. I turned up the logging on the server today to try and solve the problem, and came across a perplexing error in the /var/opt/novell/log/zenworks/rm/zenworksrmservice/zenworksrmservice-*.txt log files. I'll post an excerpt from the log at the bottom.

At first glance it appears that the /etc/opt/novell/zenworks/rm/ssl.keystore file doesn't contain our CA, but a quick check with
Code:
keytool -list -v -keystore ssl.keystore
shows that our CA is in the keystore, so I'm not sure what's causing the certificate error.

I'm completely stumped at this point, so any help or insight will be greatly appreciated.

Thanks!
Chris.

Code:
[11/4/08 12:41:56.658] Service Manager: Load sequence ..
[11/4/08 12:41:56.658] Service Manager: 0) (0) WOL Service
[11/4/08 12:41:56.658] Service Manager: Autoloading, system service name =  WOL Service class = com.novell.zenworks.desktop.remotewakeup.WakeUpLANService
[11/4/08 12:41:56.666] Service Manager: Attempting to load class 'com.novell.zenworks.desktop.remotewakeup.WakeUpLANService'
[11/4/08 12:41:56.669] Service Manager: start(ServiceDataAccessor, String[]) not found in 'com.novell.zenworks.desktop.remotewakeup.WakeUpLANService'
[11/4/08 12:41:56.683] WOLService:ServiceManager: ThreadPool config File Not Found
[11/4/08 12:41:56.683] WOLService:ServiceManager: Returning the default thread pool setting
[11/4/08 12:41:56.693] WOLService:ServiceManager: Starting the Wake on Lan service...
[11/4/08 12:41:56.694] WOLService:ServiceManager: Listener file not found
[11/4/08 12:41:56.747] WOLService:ServiceManager: LDAPNDSUtils: getLDAPURL: ldapServerName = zen.michener.ca, ldapPort = 636, objectDN = null
[11/4/08 12:41:56.747] WOLService:ServiceManager: LDAPNDSUtils: getLDAPURL: returning ldap_url = ldap://zen.michener.ca:636
[11/4/08 12:41:56.747] WOLService:ServiceManager: LDAPNDSUtils: getInitialContext: ldapURL = ldap://zen.michener.ca:636, objectDN = null
[11/4/08 12:41:56.747] WOLService:ServiceManager: LDAPNDSUtils: getInitialContext: Call #1 to createInitialContext: objectDN = null
[11/4/08 12:41:56.753] WOLService:ServiceManager: LDAPNDSUtils: getLDAPURL: ldapServerName = zen.michener.ca, ldapPort = 636, objectDN = null
[11/4/08 12:41:56.753] WOLService:ServiceManager: LDAPNDSUtils: getLDAPURL: returning ldap_url = ldap://zen.michener.ca:636
[11/4/08 12:41:56.753] WOLService:ServiceManager: LDAPNDSUtils: createInitialContext: ldapURL: ldap://zen.michener.ca:636, objectDN: null, provider_url: ldap://zen.michener.ca:636
[11/4/08 12:41:56.756] WOLService:ServiceManager: LDAPNDSUtils: createInitialContext: Trial: 0, ID = 1225820516756
[11/4/08 12:41:56.756] WOLService:ServiceManager: LDAPNDSUtils: createInitialContext: Using LDAP over SSL
[11/4/08 12:41:56.861] WOLService:ServiceManager: LDAPNDSUtils: setSSLTruststoreProperties: setting truststore to /etc/opt/novell/zenworks/rm/ssl.keystore
[11/4/08 12:41:57.014] WOLService:ServiceManager: LDAPNDSUtils: createInitialContext: Naming exception.
javax.naming.CommunicationException: anonymous bind failed: zen.michener.ca:636.  Root exception is javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Couldn't find trusted certificate
	at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.a(DashoA6275)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)
	at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(DashoA6275)
	at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(DashoA6275)
	at com.sun.net.ssl.internal.ssl.SunJSSE_ax.a(DashoA6275)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(DashoA6275)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)
	at com.sun.net.ssl.internal.ssl.AppOutputStream.write(DashoA6275)
	at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:69)
	at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:127)
	at com.sun.jndi.ldap.Connection.writeRequest(Connection.java:390)
	at com.sun.jndi.ldap.LdapClient.ldapBind(LdapClient.java:334)
	at com.sun.jndi.ldap.LdapClient.authenticate(LdapClient.java:171)
	at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2597)
	at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:275)
	at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:173)
	at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:191)
	at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)
	at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)
	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
	at javax.naming.InitialContext.init(InitialContext.java:219)
	at javax.naming.InitialContext.<init>(InitialContext.java:195)
	at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:80)
	at com.novell.application.zenworks.inventory.services.ndsutils.LDAPNDSUtils.createInitialContext(LDAPNDSUtils.java:303)
	at com.novell.application.zenworks.inventory.services.ndsutils.LDAPNDSUtils.getInitialContext(LDAPNDSUtils.java:224)
	at com.novell.application.zenworks.inventory.services.ndsutils.LDAPNDSUtils.getInitialContext(LDAPNDSUtils.java:212)
	at com.novell.zenworks.desktop.inventory.zencommon.LDAPAuthUtilities.iseDir85OrHigher(LDAPAuthUtilities.java:1182)
	at com.novell.zenworks.desktop.inventory.zencommon.AuthUtilities.iseDir85OrHigher(AuthUtilities.java:453)
	at com.novell.zenworks.desktop.remotewakeup.WUOLManager.makeDAP(WUOLManager.java:226)
	at com.novell.zenworks.desktop.remotewakeup.WUOLManager.startWUOLManager(WUOLManager.java:482)
	at com.novell.zenworks.desktop.remotewakeup.WakeUpLANService.start(WakeUpLANService.java:61)
	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:324)
	at com.novell.utility.servicemanager.LoaderThreadGroup._run(LoaderThreadGroup.java:359)
	at com.novell.utility.servicemanager.LoaderThreadGroup.run(LoaderThreadGroup.java:395)
	at java.lang.Thread.run(Thread.java:536)
Caused by: java.security.cert.CertificateException: Couldn't find trusted certificate
	at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.a(DashoA6275)
	at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(DashoA6275)
	at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(DashoA6275)
	... 38 more