2012-03-23 17 views
10

Qualcuno può incollare semplici passaggi per integrare la sicurezza Spring e CAS qui per Single Sign-On e Single Sign-Out. Nota Non desidero alcun accesso basato sui ruoli. Ho un'applicazione Web che è già integrata con Spring Security. Ora stavo cercando di eseguire SSO con CAS, ma sto ottenendo questo errore sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targetSpring Security e integrazione CAS

Questo è il mio attuale security.xml primavera

 <?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:sec="http://www.springframework.org/schema/security" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:aop="http://www.springframework.org/schema/aop" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation=" 
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd 
     http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd 
     http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd 
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd 
     http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd 
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
     http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
     http://www.springframework.org/schema/security 
     http://www.springframework.org/schema/security/spring-security-3.1.xsd 
     "> 

<sec:http entry-point-ref="casProcessingFilterEntryPoint" > 
     <sec:intercept-url pattern="/**" access="ROLE_USER" /> 
     <sec:logout logout-success-url="/loggedout.jsp" invalidate-session="true"/> 
     <sec:custom-filter ref="casAuthenticationFilter" after="CAS_FILTER"/> 
    </sec:http> 

    <sec:authentication-manager alias="authenticationManager"> 
     <sec:authentication-provider ref="casAuthenticationProvider"/> 
    </sec:authentication-manager> 

<bean id="casAuthenticationFilter" class="org.springframework.security.cas.web.CasAuthenticationFilter"> 
     <property name="authenticationManager" ref="authenticationManager"/> 
     <property name="authenticationFailureHandler"> 
      <bean class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler"> 
       <property name="defaultFailureUrl" value="/casfailed.jsp"/> 
      </bean> 
     </property> 
     <property name="authenticationSuccessHandler"> 
      <bean class="org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler"> 
       <property name="defaultTargetUrl" value="/"/> 
      </bean> 
     </property> 
    </bean> 

    <bean id="casProcessingFilterEntryPoint" class="org.springframework.security.cas.web.CasAuthenticationEntryPoint"> 
     <property name="loginUrl" value="https://cegicollabdev.india.xxx.com:8443/cas/login"/> 
     <property name="serviceProperties" ref="serviceProperties"/> 
    </bean> 

    <bean id="casAuthenticationProvider" class="org.springframework.security.cas.authentication.CasAuthenticationProvider"> 
     <property name="userDetailsService" ref="userService"/> 
     <property name="serviceProperties" ref="serviceProperties" /> 
     <property name="ticketValidator"> 
      <bean class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator"> 
       <constructor-arg index="0" value="https://cegicollabdev.india.tcs.com:8443/cas" /> 
       </bean> 
     </property> 
     <property name="key" value="an_id_for_this_auth_provider_only"/> 
    </bean> 


    <bean id="serviceProperties" class="org.springframework.security.cas.ServiceProperties"> 
     <property name="service" value="http://localhost:8080/dbcomparision/j_spring_cas_security_check"/> 
     <property name="sendRenew" value="false"/> 
    </bean> 

    <bean id="userService" class="com.tcs.ceg.services.impl.UserServiceImpl" /> 

<!--  <sec:global-method-security pre-post-annotations="enabled" /> 

    <sec:http pattern="/css/**" security="none"/> 
    <sec:http pattern="/images/**" security="none"/> 
    <sec:http pattern="/js/**" security="none"/> 
    <sec:http pattern="/index.jsp" security="none"/> 
    <sec:http pattern="/app/addNewUser.json" security="none"/> 
    <sec:http pattern="/dbcomplogin.jsp" security="none"/> 
    <sec:http pattern="/loggedout.jsp" security="none"/> 

    <sec:http use-expressions="true">--> 
     <!-- 
      Allow all other requests. In a real application you should 
      adopt a whitelisting approach where access is not allowed by default 
      --> 
     <!-- <sec:intercept-url pattern="/**" access="isAuthenticated()" /> 
     <sec:form-login login-page='/dbcomplogin.jsp' 
      authentication-failure-url="/dbcomplogin.jsp?login_error=1" 
      default-target-url="/index.jsp" /> 
     <sec:logout logout-success-url="/loggedout.jsp" delete-cookies="JSESSIONID"/> 
     <sec:remember-me /> 

    </sec:http> 

    <bean id="myUserService" class="com.tcs.ceg.services.impl.UserServiceImpl" /> 
    <sec:authentication-manager> 
    <sec:authentication-provider user-service-ref="myUserService" /> 
    </sec:authentication-manager> --> 

</beans> 

Questo è il mio web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
    <display-name>Spring3MVC</display-name> 
    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value> 
      /WEB-INF/spring-rootcontext.xml 
      /WEB-INF/spring-security.xml 
     </param-value> 
    </context-param> 
     <filter> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
    </filter> 

    <filter-mapping> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 
    <!-- 
     - Loads the root application context of this web app at startup. 
    --> 
    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 


    <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 

    <servlet> 
    <servlet-name>spring</servlet-name> 
    <servlet-class> 
      org.springframework.web.servlet.DispatcherServlet 
     </servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>spring</servlet-name> 
    <url-pattern>/app/*</url-pattern> 
    </servlet-mapping> 
<filter> 
     <filter-name>CAS Single Sign Out Filter</filter-name> 
     <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class> 
    </filter> 
<filter-mapping> 
     <filter-name>CAS Single Sign Out Filter</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 
    <listener> 
     <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class> 
    </listener> 

</web-app> 

Questo è la mia primavera-rootcontext.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:aop="http://www.springframework.org/schema/aop" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:jee="http://www.springframework.org/schema/jee" 
    xmlns:lang="http://www.springframework.org/schema/lang" 
    xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:util="http://www.springframework.org/schema/util" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd 
     http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd 
     http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd 
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd 
     http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd 
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd" > 
    <context:annotation-config /> 
<mvc:annotation-driven /> 
    <context:component-scan 
     base-package="com.tcs.ceg" /> 

<jee:jndi-lookup id="dataSource1" jndi-name="jdbc/PmdDS"/> 


    <bean id="sessionFactory" 
     class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource1" /> 
     <property name="configLocation"> 
      <value>classpath:hibernate.cfg.xml</value> 
     </property> 
     <property name="configurationClass"> 
      <value>org.hibernate.cfg.AnnotationConfiguration</value> 
     </property> 
     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop> 
       <prop key="hibernate.show_sql">true</prop> 
       <prop key="current_session_context_class">thread</prop> 
       <prop key="cache.provider_class">org.hibernate.cache.NoCacheProvider</prop> 
       <prop key="hibernate.connection.release_mode">auto</prop> 
      </props> 
     </property> 
    </bean> 



    <tx:annotation-driven /> 
    <bean id="transactionManager" 
     class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
     <property name="sessionFactory" ref="sessionFactory" /> 
    </bean> 
    </beans> 

Questa è la mia primavera-servlet.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:aop="http://www.springframework.org/schema/aop" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:jee="http://www.springframework.org/schema/jee" 
    xmlns:lang="http://www.springframework.org/schema/lang" 
    xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:util="http://www.springframework.org/schema/util" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd 
     http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd 
     http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd 
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd 
     http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd 
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd" > 



    <bean id="viewResolver" 
     class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
     <property name="viewClass"> 
     <value> 
      org.springframework.web.servlet.view.tiles2.TilesView 
     </value> 
    </property> 
    </bean> 
    <bean id="tilesConfigurer" 
    class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"> 
    <property name="definitions"> 
     <list> 
      <value>/WEB-INF/tiles.xml</value> 
     </list> 
    </property> 
</bean> 
<bean id="messageSource" 
    class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
    <property name="basename" value="classpath:messages" /> 
    <property name="defaultEncoding" value="UTF-8"/> 
</bean> 

<bean id="localeChangeInterceptor" 
    class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> 
    <property name="paramName" value="lang" /> 
</bean> 

<bean id="localeResolver" 
    class="org.springframework.web.servlet.i18n.CookieLocaleResolver"> 
    <property name="defaultLocale" value="en"/> 
</bean> 

<bean id="handlerMapping" 
    class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"> 
    <property name="interceptors"> 
     <ref bean="localeChangeInterceptor" /> 
    </property> 
</bean> 



    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
     <!-- one of the properties available; the maximum file size in bytes --> 
     <property name="maxUploadSize" value="1000000000000"/> 
    </bean> 
</beans> 

Problema: 1 sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Problema 2: personalizzato UserServiceimpl non è sempre chiamato

Problema 3: È corretto? <property name="service" value="http://localhost:8080/dbcomparision/j_spring_cas_security_check"/>, Nota Nel mio programma non ci sono Mappature richieste per j_spring_cas_security_check

risposta

5

I passaggi più semplici per ottenere il funzionamento dell'autenticazione CAS è creare ed eseguire il CAS sample dall'albero dei sorgenti di Spring Security.

È davvero necessario capire come funziona CAS prima di provare a utilizzarlo o integrarlo con l'applicazione. Vorrei iniziare dalla documentazione CAS e dal manuale di riferimento di Spring Security che descrive lo interactions between CAS and Spring Security.

j_spring_cas_security_check è l'URL che il CAS reindirizza all'applicazione dopo aver autenticato l'utente (vedere il link sopra).

Anche se l'applicazione non autentica gli utenti, ha ancora in genere un concetto di utenti di cui è a conoscenza. Inoltre, deve caricare i ruoli per questi utenti, che CAS non gestisce, quindi la dichiarazione user-service. La password non verrà utilizzata.

Come la vostra applicazione convalida che un login ha successo è spiegato nella documentazione di cui sopra. In pratica chiama il server CAS, passa il ticket di servizio e ottiene una risposta con il nome utente.

+0

Ho modificato la domanda? Di nuovo problema, non riesco a risolverlo ... per favore, contatta – Rajesh

+0

Ora ottieni questo errore ... qualsiasi idea di come risolvere? Causato da: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun. security.provider.certpath.SunCertPathBuilderException: impossibile trovare il percorso di certificazione valido per il target richiesto \t su com.sun.net.ssl.internal.ssl.Alerts.getSSLException (sorgente sconosciuta) – Rajesh

1

Comunque Single Sign-On è done..It ha preso molto tempo per figureout ma credetemi se si dispone di una configurazione mente che si vuole farlo allora comunque u riuscirà ..here è la soluzione .. Ecco la mia primavera-security.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:sec="http://www.springframework.org/schema/security" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:aop="http://www.springframework.org/schema/aop" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation=" 
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd 
     http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd 
     http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd 
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd 
     http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd 
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
     http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
     http://www.springframework.org/schema/security 
     http://www.springframework.org/schema/security/spring-security-3.1.xsd 
     "> 

<sec:http entry-point-ref="casProcessingFilterEntryPoint" > 
     <sec:intercept-url pattern="/**" access="ROLE_ADMIN" /> 
     <sec:logout logout-success-url="https://abc.com:8443/cas/logout" delete-cookies="JSESSIONID"/> 
     <sec:custom-filter ref="requestSingleLogoutFilter" before="LOGOUT_FILTER"/> 
    <sec:custom-filter ref="singleLogoutFilter" before="CAS_FILTER"/> 
     <sec:custom-filter ref="casAuthenticationFilter" after="CAS_FILTER"/> 
    </sec:http> 

    <sec:authentication-manager alias="authenticationManager"> 
     <sec:authentication-provider ref="casAuthenticationProvider"/> 
    </sec:authentication-manager> 

<bean id="casAuthenticationFilter" class="org.springframework.security.cas.web.CasAuthenticationFilter"> 
     <property name="authenticationManager" ref="authenticationManager"/> 
     <property name="authenticationFailureHandler"> 
      <bean class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler"> 
       <property name="defaultFailureUrl" value="/casfailed.jsp"/> 
      </bean> 
     </property> 
     <property name="authenticationSuccessHandler"> 
      <bean class="org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler"> 
       <property name="defaultTargetUrl" value="/"/> 
      </bean> 
     </property> 
     <property name="proxyGrantingTicketStorage" ref="proxyGrantingTicketStorage" /> 
     <property name="proxyReceptorUrl" value="/secure/receptor" /> 
    </bean> 

    <bean id="casProcessingFilterEntryPoint" class="org.springframework.security.cas.web.CasAuthenticationEntryPoint"> 
     <property name="loginUrl" value="https://abc.com:8443/cas/login"/> 
     <property name="serviceProperties" ref="serviceProperties"/> 
    </bean> 

    <bean id="casAuthenticationProvider" class="org.springframework.security.cas.authentication.CasAuthenticationProvider"> 
     <property name="userDetailsService" ref="userService"/> 
     <property name="serviceProperties" ref="serviceProperties" /> 
     <property name="ticketValidator"> 
      <bean class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator"> 
       <constructor-arg index="0" value="https://abc.com:8443/cas" /> 
       <property name="proxyGrantingTicketStorage" ref="proxyGrantingTicketStorage" /> 
       <property name="proxyCallbackUrl" value="http://localhost:8080/dbcomparision/secure/receptor" /> 

       </bean> 
     </property> 
     <property name="key" value="an_id_for_this_auth_provider_only"/> 
    </bean> 

    <bean id="proxyGrantingTicketStorage" class="org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl" /> 
    <bean id="serviceProperties" class="org.springframework.security.cas.ServiceProperties"> 
     <property name="service" value="http://localhost:8080/dbcomparision/j_spring_cas_security_check"/> 
     <property name="sendRenew" value="false"/> 
    </bean> 

    <bean id="userService" class="com.tcs.ceg.services.impl.UserServiceImpl" /> 
    <!-- This filter handles a Single Logout Request from the CAS Server --> 
    <bean id="singleLogoutFilter" class="org.jasig.cas.client.session.SingleSignOutFilter"/> 
    <!-- This filter redirects to the CAS Server to signal Single Logout should be performed --> 
    <bean id="requestSingleLogoutFilter" 
     class="org.springframework.security.web.authentication.logout.LogoutFilter"> 
    <constructor-arg value="https://abc.com:8443/cas/logout"/> 
    <constructor-arg> 
     <bean class= 
      "org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler"/> 
    </constructor-arg> 
    <property name="filterProcessesUrl" value="/j_spring_cas_security_logout"/> 
    </bean> 

</beans> 

mio web.xml aggiornato

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
    <display-name>Spring3MVC</display-name> 
    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value> 
      /WEB-INF/spring-rootcontext.xml 
      /WEB-INF/spring-security.xml 
     </param-value> 
    </context-param> 
     <filter> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
    </filter> 

    <filter-mapping> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 
    <!-- 
     - Loads the root application context of this web app at startup. 
    --> 
    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 


    <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 

    <servlet> 
    <servlet-name>spring</servlet-name> 
    <servlet-class> 
      org.springframework.web.servlet.DispatcherServlet 
     </servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>spring</servlet-name> 
    <url-pattern>/app/*</url-pattern> 
    </servlet-mapping> 
<filter> 
     <filter-name>CAS Single Sign Out Filter</filter-name> 
     <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class> 
    </filter> 
<filter-mapping> 
     <filter-name>CAS Single Sign Out Filter</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 
    <listener> 
     <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class> 
    </listener> 

</web-app> 

ho risolto questa eccezione javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source) copiando server "cacerts" CAS file java \ jre \ lib \ sicurezza del server di CAS aggiornato alla mia java \ jre \ libra \ sicurezza ed eccezione locale è stato fumato

+1

Puoi pubblicare il tuo codice UserServiceImpl? Sarà di grande aiuto per me. – Rajkumar

3

per risolvere il problema

sun.security.provider.certpath.SunCertPathBuilderException: incapace di trovare valido percorso di certificazione al target richiesto

Seguiamo 3 passi per istruire JDK del nostro application server accetta il certificato del server CAS (nel progetto, è cegicollabdev.india.tcs.com: 8443)

  1. Scarica InstallCert.java, e copiare nella cartella JDK'bin

    http://code.google.com/p/java-use-examples/source/browse/trunk/src/com/aw/ad/util/InstallCert.java

  2. comando Apri strumento di linea con privilegio di amministratore (se sei su Windows 7/Vista). Passare alla cartella bin del JDK e costruire questo file java

    javac InstallCert.java

  3. Installare cas certificato server

    java InstallCert cegicollabdev.india.tcs.com:8443

    Hit 1 quando richiesto.

Questo è tutto.