Domanda

Ho lottato per iniziare a lavorare per il mio server LDAP. Ho configurato un keystore e una password in un file di contesto Spring. La mia configurazione sembra funzionare per SSL ma Star TLS sta causando la pelle d'oca. Ho aggiunto Startlshandler come ExtendedOperationHandler nel wrapper del mio server LDAP. Devo anche configurare qualsiasi altra cosa.

Sto usando JDK 1.6.0_15

Il keystore e la password sono codificati al momento, sembrano ok quando utilizzo SSL o Debug.

Sto usando il client JLDAP per testare la mia implementazione.

Ecco uno snippet di codice che ho aggiunto per il gestore: ldapserver.setkeystorefile ("c: /jdk/dgekey.ks"); ldapserver.setCertificatePassword ("segreto"); ldapserver.addextendOperationHandler (nuovo startlshandler ());

Di seguito è possibile vedere la traccia dello stack sul lato server, la traccia del client è più in basso:

2011-05-10 12: 51: 29.345 [rthread-4861-21] debug [org.apache.directory.server.ldap.handlers.extended.starttlshandler] Impostazione del servizio LDAP 2011-05-10 12: 51: 29.345 [RThread " .directory.server.core.security.corekeystorespi] err_68 non è riuscito al tentativo di estrarre la chiave. java.lang.illegalstateException: ERR_436 i nomi usati per i presidi devono essere normalizzati! su org.apache.directory.server.core.ldapprincipal. (LDApprincipal.java:76) all'indirizzo org.apache.directory.server.core.security.corekeystrepipi.getlsentry (corekeystorespI.java:84) a org.apache.directory. server.core.security.corekeystorespI.EngineGetKey (corekeystorespi.java:231) su java.security.keystore.getkey (keystore.java:763) all'indirizzo com.sun.net.internal.internal.Sunx50999999999999999999999999999999 : 113) At com.sun.net.ssl.internal.ssl.keymanagerfactoryimpl $ sunx509.engineinit (keymanagerfactoryimpl.java:48) su javax.net.sl.keymanagerfactory.init (keymanagerfactory.java:239) ad Org.apache. Directory.server.ldap.handlers.extended.starttlshandler.setltapserver (starttlshandler.java:170) su org.apache.directory.server.ldapserver.startnetwork (LDAPSERVER.JAVA:542) su org.apache.directory.server. ldap.ldapserver.start (ldapserver.java:446) at com..ldap.apacheds.ldapserverwrapper.afterpropertiesset (ldapserverwrapper.java:103) all'indirizzo org.springframework.beans.factory.supt.suptaUtowirecapa bleBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1469) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java: 519) su org.springframework.beans.factory.support.abstractAutoWirecapableBeanFactory.CreateBean (AbstractOwirecapableBeanFactory.java:456) su org.springframework.beans.factory.supPortory. beans.factory.support.DefaultsingletonBeanregistry.getSingleton (impostazione predefinitasingletonBeanregistry.java:222) su org.springframework.beans.factory.support.abstractBeanfactory.dogetBean (abstractBeanFactory.javactory. getBean (AbstractBeanFactory.java:190) su org.springframework.beans.factory.support.defaultlistableBeanf actory.preInstantiateSingletons(DefaultListableBeanFactory.java:574) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) at org .springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener .java: 47) su org.apache.catalina.core.standardcontext.listeNerstart (standardContext.java:4655) su org.apache.catalina.core.standardcontext.start (standardContext.java:5364) su com.sun.enterprise. web.webmodule.start (webmodule.java:345) su org.apache.catalina.core.containerbase.addChildInternal (ContainerBase.java:986) su org.apache.catalina.core.containerbase.addChild (contenitore.java:9 70) su org.apache.catalina.core.standardhost.addChild (standardhost.java:704) all'indirizzo com.sun.enterprise.web.webcontainer.loadwebmodule (webcontainer.java:1649) su com.sun.enterprise.WebContainer .loadWebModule (WebContainer.java:1254) all'indirizzo com.sun.enterprise.server.webmoduleDeployPlowingListener.Moduledeed (WebModuleDeperListener.java:182) at comita.sun.sun.server.webulledeEd. sun.enterprise.admin.event.admineventmulticaster.invokemoduledeployEventListener (admineventMulticaster.java:1005) su com.sun.enterprise.admin.event.admineventmulticaster.handlemoduledeEvent (admulticamer.java.992) AT Com.Sun.Sun.Sun.ADMUTSUNS.EVVEETMULTICHETM. AddventMulticaster.processevent (admineventMulticaster.java:470) su com.sun.enterprise.admin.event.admineventMulticaster.Multicastevent (admineVeventMulticaster.java:182) su com.sun.enterprise.admin.server.CowerMeplowingNoyPhiplotizzante.DeployPhiplotionNotCartic. lper.java:308) at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:231) at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298) at com .sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132) at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108) at com.sun.enterprise.deployment.phasing .Pedeyploymentervice.executephase (pedeploymentservice.java:966) su com.sun.enterprise.deployment.phasing.pedeploymentservice.start (pedeploymentservice.java:609) all'indirizzo com.sun.enterprise.deployment.deployment.pedingeDedectice (pedale : 653) su com.sun.enterprise.admin.mbeans.applicationsconfigmbean.start (ApplicationsConfigmbean.java:773) su sun.reflect.nativeMethodaccessorimpl.invoke0 (metodo nativo) su sun.reflect.nativeMetOdaccEmpl.inVoke (nativeMaccEMPL. ) su Sun.reflect.dele gatingmethodaccessorimpl.invoke (delegatingMethodaccessorImpl.java:25) su java.lang.reflect.method.invoke (Method.java:597) a com.sun.enterprise.admin.mbeanhelper.invokeoperationinbean (mbeanhelper.java:390) at com.enterprise.admin.mbeanhelper.invokeoperationinbean (MBeanHelper. .enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:373) at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:477) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor .java:836) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25 ) su java.lang.reflect.method.invoke (Method.java:597) all'indirizzo com.sun.enterprise.admin.util.proxy.proxyclass.invoke (proxyclass.java:90) a $ proxy1.invoke (fonte sconosciuta) at com.sun.enterprise.admin.server.core.jmx.sunoneInterceptor.invoke (SunoneInterceptor.java:304) all'indirizzo com.sun.enterprise.interceptor.d ynamicinterceptor.invoke (DynamicIntercetor.java:170) all'indirizzo com.sun.enterprise.admin.jmx.remote.server.callers.invokecaller.call (invokecaller.java:69) su com.sun.enterprise.admin.jmx.remote. server.mbeanserverrequesthandler.handle (mbeanserverrequesthandler.java:155) all'indirizzo com.sun.enterprise.admin.jmx.remote.server.servlet.remotejmxconnectorservlet.prome.dommas.dmas. remote.server.servlet.RemoteJmxConnectorServlet.doPost(RemoteJmxConnectorServlet.java:193) at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) su org.apache.catalina.core.ApplicationFilterChain.Servletservice (ApplicationFilterChain.java:427) su org.apache.catalina.core.standardwrappervalve.invoke (standardwrappervalve.java:315) a org.apache.catalina.CORESTVALVE. (StandardContextValve.java:287) su org.apache.catalina.core.standardContextValve.invoke (StandardContextVal ve.java:218) su org.apache.catalina.core.standardpipeline.doinvoke (standardpipeline.java:648) su org.apache.catalina.core.standardpipeline.doinvoke (standardpipeline.java:593) a com.sun.enterprise .web.webpipeline.invoke (WebPipeline.java:94) su com.sun.enterprise.web.pesessionlockingstandardpipeline.invoke (PesessionlockingStandPipeline.java:98) su org.apache.catalina.core.standardhostValve.Invoke (standardHostValve. ) su org.apache.catalina.core.standardpipeline.doinvoke (standardpipeline.java:648) all'indirizzo org.apache.catalina.core.standardpipeline.doinvoke (standardpipeline.java:593) su org.apache.catalina.core.Standardpipeline. invoche (standardpipeline.java:587) su org.apache.catalina.core.containerbase.invoke (containerbase.java:1093) su org.apache.catalina.core.standardenginevalve.invoke (standardnginevalve.java:166) ad org.apache .catalina.core.standardpipeline.doinvoke (standardpipeline.java:648) all'indirizzo org.apache.catalina.core.standardpipeline.doinvoke (standardpipeline.java:593) all'indirizzo org.a pache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter. java: 291) su com.sun.enterprise.web.connector.grizzly.defaultprocessortask.invokeadapter (defaultprocessortask.java:666) all'indirizzo com.sun.enterprise.web.connector.grizzly.defaultprocessork.doprocess (defaultprocerask.597)) at com.sun.enterprise.web.connector.grizzly.defaultprocessortask.process (defaultprocessortask.java:872) all'indirizzo com.sun.enterprise.web.connector.grizzly.defaultreadtask.executeProcessAk (defaultreadtaSk.java:341 a Com.Grizzly.DefaulTreadTask.executeProcessAk (defaultreadtask.Javask (DEFAFULTREADTASK.JAVASACH .enterprise.web.connector.grizzly.defaultreadtask.dotask (defaultreadtask.java:263) su com.sun.enterprise.web.connector.grizzly.defaultreadtask.dotask (defaultreadtask.java:214) a com.enterprise.web .Connector.grizzly.taskbase.run (taskbase.java:264) at com.sun.enterprise.web.connector.grizzly.workerthreadimpl.run (workerthreadimpl.java:117)

*Traccia client tramite javax.net.debug = all;*

KeyStore è: C:/JDK/CACERTS KeyStore Tipo IS: JKS Chiave Provider è: init Keystore Init KeyManager del tipo Sunx509 TrustStore è: C: JDK Cacerts TrustStore Type è: JKS TrustStore Provider è: init TrustStore aggiungendo come certificato di fiducia: Oggetto: CN = Swisssign Platinum CA - G2, O = Swisssign Ag, C = CH Emittente: CN = Swisssign Platinum Ca - G2, O = Swisssign Ag, C = CH Algoritmo: RSA; Numero di serie: 0x4EB200670C035D4F Valido da mercoledì 25 ottobre 10:36:00 CEST 2006 fino a sabato 25 ottobre 10:36:00 CEST 2036

Attivazione della semina di sequestro sequestro eseguito sequestro e nessuna sessione di client memorizzazione nella cache* ClientHello, TLSV1 RandomCookie: GMT: 1288255192 byte = {100, 146, 27, 29, 47, 10, 97, 247, 253, 145, 49, 147, 239, 157, 90, 4, 34, 15, 99, 243 , 191, 156, 251, 25, 64, 42, 210, 231 } Session ID: {} Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA] Metodi di compressione: {0}


Scrivi] Hash MD5 e SHA1: len = 73 0000: 01 00 00 45 03 01 4D C9 37 D8 64 92 1B 1D 2F 0A ... E..M.7.D .../. 0010: 61 F7 FD 91 31 93 EF 9d 5A 04 22 0F 63 F3 BF 9C A ... 1 ... Z. ". C ... 0020: FB 19 40 2A D2 E7 00 00 1E 00 04 00 05 00 2f 00 ..@........../. 0030: 33 00 32 00 0a 00 16 00 13 00 09 00 15 00 12 00 3.2 ............. 0040: 03 00 08 00 14 00 11 01 00 ....... .. Main, Scrivi: TLSV1 Handshake, Lunghezza = 73 [Scrivi] Hash MD5 e Sha1: len = 98 0000: 01 03 01 00 39 00 00 00 20 00 04 01 00 80 00 .... 9 .... ...... 0010: 00 05 00 00 2F 00 00 33 00 00 32 00 00 0A 07 00 ..../.. 3..2 ..... 0020: C0 00 00 16 00 13 00 00 09 06 00 40 00 00 15 ............@... 0030: 00 00 12 00 00 03 02 00 80 00 00 08 00 00 14 00 ........ ........ 0040: 00 11 4d C9 37 d8 64 92 1b 1d 2f 0a 61 f7 fd 91 ..m.7.d .../. A ... 0050: 31 93 EF 9d 5a 04 22 0f 63 f3 bf 9c fb 19 40 2a 1 ... z. ". C .....@@0060: D2 E7 .. Main, Scrivi: SSLV2 Client Hello Messaggio, Lunghezza = 98 Main, Leggi: Avviso TLSV1, Lunghezza = 2 Main, Recv TLSV1 Avviso: Fatale, Handshake_FaiLure Main, chiamato CloseSocket () Main, Eccezione di maneggevolezza: Javax. net.ssl.sslhandshakeException: Avviso fatale ricevuto: handshake_failure Errore: ldapexception: Impossibile negoziare una connessione sicura (91) Errore di connessione javax.net.ssl.sslhandshakeException: Avviso fatale ricevuto: handshake_failure

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top