2012-03-23 39 views
10

¿Alguien puede pegar pasos sencillos para integrar la seguridad de Spring y CAS aquí para el inicio de sesión único y el inicio de sesión único? Nota: No quiero ningún acceso basado en roles. Tengo una aplicación web que ya está integrada con la seguridad de primavera. Ahora yo estaba tratando de realizar SSO con CAS, pero estoy consiguiendo este error sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targetSpring Security y CAS Integration

Ésta es mi actual 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> 

Ésta es mi 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> 

Este es mi 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> 

Ésta es mi 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: UserServiceimpl personalizada no esté recibiendo llamadas

Problema 3: ¿Es esto correcto? <property name="service" value="http://localhost:8080/dbcomparision/j_spring_cas_security_check"/>, Nota En mi programa sin asignación de solicitud está ahí para j_spring_cas_security_check

Respuesta

5

Los pasos simples para conseguir trabajo autenticación EAP es generar y ejecutar el CAS sample del árbol de fuentes Spring Security.

Realmente necesita comprender cómo funciona CAS antes de intentar usarlo, o integrarlo con su aplicación. Comenzaría con la documentación de CAS y el manual de referencia de Spring Security que describe el interactions between CAS and Spring Security.

j_spring_cas_security_check es la URL a la que el CAS redirige en su aplicación después de que haya autenticado al usuario (consulte el enlace anterior).

Incluso si su aplicación no está autenticando usuarios, todavía tiene un concepto de usuarios que conoce. También tiene que cargar los roles para estos usuarios, que CAS no maneja, de ahí la declaración user-service. La contraseña no será utilizada.

La forma en que su aplicación valida que un inicio de sesión sea exitoso se explica en la documentación anterior. Básicamente llama al servidor CAS, pasa el ticket de servicio y recibe una respuesta con el nombre de usuario.

+0

he editado la pregunta? De nuevo teniendo problemas, no se puede resolver..porfavor ayuda – Rajesh

+0

Ahora obteniendo este error ... alguna idea de cómo resolverlo Causado por: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun. security.provider.certpath.SunCertPathBuilderException: no se puede encontrar una ruta de certificación válida para el destino solicitado \t en com.sun.net.ssl.internal.ssl.Alerts.getSSLException (Fuente desconocida) – Rajesh

1

De todos modos el inicio de sesión único está terminado ... Me tomó mucho tiempo resolverlo, pero créanme si tiene una configuración mental que desea hacer, de todos modos, tendrá éxito ... aquí está la solución. Aquí está mi 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> 

mi web.xml actualizado

<?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> 

resolví esta excepción 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) mediante la copia de servidor "cacerts" CAS archivo de java \ jre \ lib \ seguridad del servidor CAS actualizado a mi java \ jre \ lib \ security y excepción locales fue fumado

+1

¿Se puede publicar el código de UserServiceImpl? Será de mucha ayuda para mí. – Rajkumar

3

para resolver el problema

sun.security.provider.certpath.SunCertPathBuilderException: incapaz de encontrar la ruta de certificación válida al destino solicitado

Seguimos 3 pasos para instruir JDK de nuestro servidor de aplicaciones aceptar el certificado del servidor CAS (en su proyecto, es cegicollabdev.india.tcs.com: 8443)

  1. Descargar InstallCert.java, y copia a la carpeta JDK'bin

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

  2. comando Abrir herramienta de línea con privilegio de administrador (si está en la ventana 7/Vista). Cambie a la carpeta bin del JDK y construir este archivo java

    javac InstallCert.java

  3. Instalar certificado de servidor CAS

    java InstallCert cegicollabdev.india.tcs.com:8443

    Hit 1 cuando se le solicite.

Eso es todo.

Cuestiones relacionadas