I found the problem. The CN for the key needed to be localhost. I removed
the tomcat alias from the keystore and recreated it with the full name =
localhost. Now I am getting this exception.

2015-04-06 12:09:08,974 ERROR [org.jasig.cas.client.util.CommonUtils] -
<sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find
valid certification path to requested target>
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 sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
 at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1884)
 at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276)
 at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270)
 at
sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1439)
 at
sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:209)
 at sun.security.ssl.Handshaker.processLoop(Handshaker.java:878)
 at sun.security.ssl.Handshaker.process_record(Handshaker.java:814)
 at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1016)
 at
sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
 at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
 at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
 at
sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)
 at
sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
 at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1300)
 at
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
 at
org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:326)
 at
org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:305)
 at
org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:50)
 at
org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:207)
 at
org.springframework.security.cas.authentication.CasAuthenticationProvider.authenticateNow(CasAuthenticationProvider.java:140)
 at
org.springframework.security.cas.authentication.CasAuthenticationProvider.authenticate(CasAuthenticationProvider.java:126)
 at
org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:156)
 at
org.springframework.security.cas.web.CasAuthenticationFilter.attemptAuthentication(CasAuthenticationFilter.java:242)
 at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:194)
 at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
 at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
 at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
 at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
 at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
 at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
 at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
 at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
 at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
 at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
 at
com.github.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:63)
 at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
 at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
 at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
 at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
 at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
 at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
 at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
 at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
 at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
 at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
 at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
 at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
 at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
 at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
 at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 at java.lang.Thread.run(Thread.java:745)
Caused by: sun.security.validator.ValidatorException: PKIX path building
failed: sun.security.provider.certpath.SunCertPathBuilderException: unable
to find valid certification path to requested target
 at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385)
 at
sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
 at sun.security.validator.Validator.validate(Validator.java:260)
 at
sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326)
 at
sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)
 at
sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126)
 at
sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1421)
 ... 48 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
 at
sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:196)
 at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268)
 at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380)
 ... 54 more

On Mon, Apr 6, 2015 at 11:40 AM, moaxcp <[email protected]> wrote:

> I was thinking that maybe a public key needs to be added to my truststore
> but I think it needs to be added to the cacerts for the jvm since the
> methods is using HttpUrlConnection. I have a private key for tomcat but not
> a public key. Can this be generated using keytool?
>
> On Mon, Apr 6, 2015 at 10:07 AM, Mace, Mark <[email protected]> wrote:
>
>>  It looks like you don’t have a certificate set up for localhost.  The
>> CAS server can’t verify who “localhost” is, as there is not a certificate
>> present.
>>
>>
>>
>> I’d look into documentation for setting up a self signed certificate
>> based on your operating system.
>>
>>
>>
>> --mark
>>
>>
>>
>> *From:* moaxcp [mailto:[email protected]]
>> *Sent:* Monday, April 06, 2015 9:56 AM
>> *To:* [email protected]
>> *Subject:* [cas-user] CAS 3.5.0 services
>>
>>
>>
>> Hello, I setup cas as a maven overlay and I'm trying to access the
>> /services url. What is the cause of this error and how can I fix it?
>>
>>
>>
>> 2015-04-06 09:23:52,705 DEBUG
>> [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] - <Placing
>> URL parameters in map.>
>> 2015-04-06 09:23:52,705 DEBUG
>> [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] - <Calling
>> template URL attribute map.>
>> 2015-04-06 09:23:52,705 DEBUG
>> [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] - <Loading
>> custom parameters from configuration.>
>> 2015-04-06 09:23:52,705 DEBUG
>> [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] -
>> <Constructing validation url:
>> https://localhost:8443/cas/serviceValidate?ticket=ST-1-ccIBGO6tmizkoaiZnj6w-cas01.example.org&service=https%3A%2F%2Flocalhost%3A8443%2Fcas%2Fservices%2Fj_acegi_cas_security_check
>> >
>> 2015-04-06 09:23:52,720 DEBUG
>> [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] - <Retrieving
>> response from server.>
>> 2015-04-06 09:23:52,845 ERROR [org.jasig.cas.client.util.CommonUtils] -
>> <java.security.cert.CertificateException: No name matching localhost found>
>> javax.net.ssl.SSLHandshakeException:
>> java.security.cert.CertificateException: No name matching localhost found
>>  at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
>>  at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1884)
>>  at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276)
>>  at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270)
>>  at
>> sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1439)
>>  at
>> sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:209)
>>  at sun.security.ssl.Handshaker.processLoop(Handshaker.java:878)
>>  at sun.security.ssl.Handshaker.process_record(Handshaker.java:814)
>>  at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1016)
>>  at
>> sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
>>  at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
>>  at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
>>  at
>> sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)
>>  at
>> sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
>>  at
>> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1300)
>>  at
>> sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
>>  at
>> org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:326)
>>  at
>> org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:305)
>>  at
>> org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:50)
>>  at
>> org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:207)
>>  at
>> org.springframework.security.cas.authentication.CasAuthenticationProvider.authenticateNow(CasAuthenticationProvider.java:140)
>>  at
>> org.springframework.security.cas.authentication.CasAuthenticationProvider.authenticate(CasAuthenticationProvider.java:126)
>>  at
>> org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:156)
>>  at
>> org.springframework.security.cas.web.CasAuthenticationFilter.attemptAuthentication(CasAuthenticationFilter.java:242)
>>  at
>> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:194)
>>  at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
>>  at
>> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
>>  at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
>>  at
>> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
>>  at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
>>  at
>> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
>>  at
>> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
>>  at
>> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
>>  at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>  at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>  at
>> com.github.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:63)
>>  at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>  at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>  at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
>>  at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
>>  at
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
>>  at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
>>  at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>>  at
>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
>>  at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>>  at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
>>  at
>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
>>  at
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
>>  at
>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
>>  at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>  at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>  at
>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>  at java.lang.Thread.run(Thread.java:745)
>> Caused by: java.security.cert.CertificateException: No name matching
>> localhost found
>>  at sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:208)
>>  at sun.security.util.HostnameChecker.match(HostnameChecker.java:93)
>>  at
>> sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:347)
>>  at
>> sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:203)
>>  at
>> sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126)
>>  at
>> sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1421)
>>  ... 48 more
>>
>>
>>
>> --
>>
>> You are currently subscribed to [email protected] as: [email protected]
>>
>> To unsubscribe, change settings or access archives, see 
>> http://www.ja-sig.org/wiki/display/JSG/cas-user
>>
>>  --
>> You are currently subscribed to [email protected] as: [email protected]
>> To unsubscribe, change settings or access archives, see 
>> http://www.ja-sig.org/wiki/display/JSG/cas-user
>>
>>
>

-- 
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to