I'm working on upgrading our CAS application from 2.X to 4.1.0. When I start up 
Tomcat with the 4.1.0 application I get the errors below. If I start Tomcat 
with the older CAS version, everything works. Long story but right now I stop 
Tomcat, copy the war file into webapps, start Tomcat. This appears to be 
related to our use of ldaps and a problem reading the trusted cert file 
(caerts). I've received these errors both using a jdk and a jre (1.7). When I 
access the same ldap servers using ldap protocol on 389, CAS 4.1.0 starts and 
operates properly. My path to the cacerts file as specified in cas.properties 
is correct (I've confirmed that). Is there a place where I need to specify 
format the trust store is in? Googling the root exception suggests a format 
change from PKCS12 to JKS may be one possible remedy for this problem, but the 
older CAS 2. Application has no problem with ldaps and trusting the ldap 
server's cert (not a self-signed).

Using JDK/JRE 1.7.0.21 and Tomcat 7.0.32 on Windows Server 2008

org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'ticketRegistryCleaner' defined in ServletContext resource 
[/WEB-INF/spring-configuration/ticketRegistry.xml]: Cannot resolve reference to 
bean 'centralAuthenticationService' while setting constructor argument; nested 
exception is org.springframework.beans.factory.BeanCreationException: Error 
creating bean with name 'centralAuthenticationService' defined in 
ServletContext resource [/WEB-INF/spring-configuration/applicationContext.xml]: 
Cannot resolve reference to bean 'authenticationManager' while setting 
constructor argument; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'authenticationManager' defined in ServletContext resource 
[/WEB-INF/deployerConfigContext.xml]: Cannot resolve reference to bean 
'ldapAuthenticationHandler' while setting constructor argument; nested 
exception is org.springframework.beans.factory.BeanCreationException: Error 
creating bean with name 'ldapAuthenticationHandler' defined in ServletContext 
resource [/WEB-INF/deployerConfigContext.xml]: Cannot resolve reference to bean 
'authenticator' while setting constructor argument; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'authenticator' defined in ServletContext resource 
[/WEB-INF/deployerConfigContext.xml]: Cannot resolve reference to bean 
'authHandler' while setting constructor argument; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'authHandler' defined in ServletContext resource 
[/WEB-INF/deployerConfigContext.xml]: Cannot resolve reference to bean 
'bindPooledLdapConnectionFactory' while setting bean property 
'connectionFactory'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'bindPooledLdapConnectionFactory' defined in ServletContext resource 
[/WEB-INF/deployerConfigContext.xml]: Cannot resolve reference to bean 
'bindConnectionPool' while setting bean property 'connectionPool'; nested 
exception is org.springframework.beans.factory.BeanCreationException: Error 
creating bean with name 'bindConnectionPool' defined in ServletContext resource 
[/WEB-INF/deployerConfigContext.xml]: Invocation of init method failed; nested 
exception is java.lang.IllegalArgumentException: 
java.security.cert.CertificateException: Could not parse certificate: 
java.io.IOException: Empty input 

...a chain of similar errors about creating beans with root cause of ....

Caused by: java.security.cert.CertificateException: Could not parse 
certificate: java.io.IOException: Empty input
        at 
sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:104)
        at 
java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:339)
        at 
org.ldaptive.ssl.X509CertificatesCredentialReader.read(X509CertificatesCredentialReader.java:45)
        at 
org.ldaptive.ssl.X509CertificatesCredentialReader.read(X509CertificatesCredentialReader.java:31)
        at 
org.ldaptive.ssl.AbstractCredentialReader.read(AbstractCredentialReader.java:52)
        at 
org.ldaptive.ssl.X509CredentialConfig.createSSLContextInitializer(X509CredentialConfig.java:129)
        at 
org.ldaptive.ssl.TLSSocketFactory.initialize(TLSSocketFactory.java:52)
        at 
org.ldaptive.ssl.ThreadLocalTLSSocketFactory.getHostnameVerifierFactory(ThreadLocalTLSSocketFactory.java:98)
        ... 122 more
Caused by: java.io.IOException: Empty input
        at 
sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:101)
        ... 129 more

I don't see anything in the ldaptive or CAS 4.1 docs that mention setting a 
format or other attribute for the cacerts file. Still using the default 
keystore password as well.

Thanks for any help in advance,

----
Allan Axon
Delivery Services, Enterprise Applications and GIS Manager
Information Technology Services
NC Department of Environmental Quality
919-707-8913
----
Email correspondence to and from this address is subject to the North Carolina 
Public Records Law and may be disclosed to third parties unless the content is 
exempt by statute or other regulation.

-- 
You received this message because you are subscribed to the Google Groups "CAS 
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/.

Reply via email to