hmm...comparing the key generation stuff on google ( http://code.google.com/apis/apps/articles/sso-keygen.html) with the stuff on the wiki, there seems to be a possible typo on the wiki in the third command where you generate private.p8 ...it looks like "-inform PER" should be "-inform PEM" ...however, after trying it, I got the same stack trace...
On Mon, Dec 21, 2009 at 2:53 PM, Curtis Garman <[email protected]>wrote: > I'm trying to configure uportal 3.1.2 / cas 3.3.4 to work with our google > apps domain. I'm following the steps outlined at > http://www.ja-sig.org/wiki/display/CASUM/SAML+2.0+%28Google+Accounts+Integration%29. > While the generation of the keys and configuring the extra bean stuff went > fine (copied and pasted), cas won't start...it is failing with the following > stacktrace...anyone know how to fix this? > > ERROR [main] Dec/21 14:34:19,672 context.ContextLoader.[] - Context > initialization failed > org.springframework.beans.factory.BeanCreationException: Error creating > bean with name 'googleAccountsArgumentExtractor' defined in ServletContext > resource > [/WEB-INF/spring-configuration/argumentExtractorsConfiguration.xml]: Cannot > resolve reference to bean 'privateKeyFactoryBean' while setting bean > property 'privateKey'; nested exception is > org.springframework.beans.factory.BeanCreationException: Error creating bean > with name 'privateKeyFactoryBean' defined in ServletContext resource > [/WEB-INF/spring-configuration/argumentExtractorsConfiguration.xml]: > Invocation of init method failed; nested exception is > java.security.spec.InvalidKeySpecException: > java.security.InvalidKeyException: IOException : DerInputStream.getLength(): > lengthTag=111, too big. > at > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275) > at > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) > at java.security.AccessController.doPrivileged(Native Method) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) > at > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) > at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) > at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) > at > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429) > at > org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380) > at > org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255) > at > org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199) > at > org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) > at > org.jasig.cas.web.init.SafeContextLoaderListener.contextInitialized(SafeContextLoaderListener.java:62) > at > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4429) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) > at > org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:987) > at > org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:909) > at > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:495) > at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206) > at > org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314) > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) > at > org.apache.catalina.core.StandardService.start(StandardService.java:516) > at > org.apache.catalina.core.StandardServer.start(StandardServer.java:710) > at org.apache.catalina.startup.Catalina.start(Catalina.java:583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) > Caused by: org.springframework.beans.factory.BeanCreationException: Error > creating bean with name 'privateKeyFactoryBean' defined in ServletContext > resource > [/WEB-INF/spring-configuration/argumentExtractorsConfiguration.xml]: > Invocation of init method failed; nested exception is > java.security.spec.InvalidKeySpecException: > java.security.InvalidKeyException: IOException : DerInputStream.getLength(): > lengthTag=111, too big. > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) > at java.security.AccessController.doPrivileged(Native Method) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) > at > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) > at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) > at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) > at > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269) > ... 43 more > Caused by: java.security.spec.InvalidKeySpecException: > java.security.InvalidKeyException: IOException : DerInputStream.getLength(): > lengthTag=111, too big. > at > sun.security.rsa.RSAKeyFactory.engineGeneratePrivate(RSAKeyFactory.java:200) > at java.security.KeyFactory.generatePrivate(KeyFactory.java:342) > at > org.jasig.cas.util.PrivateKeyFactoryBean.createInstance(PrivateKeyFactoryBean.java:41) > at > org.springframework.beans.factory.config.AbstractFactoryBean.afterPropertiesSet(AbstractFactoryBean.java:130) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335) > ... 53 more > Caused by: java.security.InvalidKeyException: IOException : > DerInputStream.getLength(): lengthTag=111, too big. > at sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:344) > at sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:350) > at > sun.security.rsa.RSAPrivateCrtKeyImpl.<init>(RSAPrivateCrtKeyImpl.java:74) > at > sun.security.rsa.RSAPrivateCrtKeyImpl.newKey(RSAPrivateCrtKeyImpl.java:58) > at > sun.security.rsa.RSAKeyFactory.generatePrivate(RSAKeyFactory.java:299) > at > sun.security.rsa.RSAKeyFactory.engineGeneratePrivate(RSAKeyFactory.java:196) > ... 58 more > FATAL [main] Dec/21 14:34:19,705 init.SafeContextLoaderListener.[] - > SafeContextLoaderListener: > The Spring ContextLoaderListener we wrap threw on contextInitialized. > But for our having caught this error, the web application context would not > have initialized. > org.springframework.beans.factory.BeanCreationException: Error creating > bean with name 'googleAccountsArgumentExtractor' defined in ServletContext > resource > [/WEB-INF/spring-configuration/argumentExtractorsConfiguration.xml]: Cannot > resolve reference to bean 'privateKeyFactoryBean' while setting bean > property 'privateKey'; nested exception is > org.springframework.beans.factory.BeanCreationException: Error creating bean > with name 'privateKeyFactoryBean' defined in ServletContext resource > [/WEB-INF/spring-configuration/argumentExtractorsConfiguration.xml]: > Invocation of init method failed; nested exception is > java.security.spec.InvalidKeySpecException: > java.security.InvalidKeyException: IOException : DerInputStream.getLength(): > lengthTag=111, too big. > at > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275) > at > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) > at java.security.AccessController.doPrivileged(Native Method) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) > at > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) > at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) > at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) > at > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429) > at > org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380) > at > org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255) > at > org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199) > at > org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) > at > org.jasig.cas.web.init.SafeContextLoaderListener.contextInitialized(SafeContextLoaderListener.java:62) > at > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4429) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) > at > org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:987) > at > org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:909) > at > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:495) > at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206) > at > org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314) > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) > at > org.apache.catalina.core.StandardService.start(StandardService.java:516) > at > org.apache.catalina.core.StandardServer.start(StandardServer.java:710) > at org.apache.catalina.startup.Catalina.start(Catalina.java:583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) > Caused by: org.springframework.beans.factory.BeanCreationException: Error > creating bean with name 'privateKeyFactoryBean' defined in ServletContext > resource > [/WEB-INF/spring-configuration/argumentExtractorsConfiguration.xml]: > Invocation of init method failed; nested exception is > java.security.spec.InvalidKeySpecException: > java.security.InvalidKeyException: IOException : DerInputStream.getLength(): > lengthTag=111, too big. > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) > at java.security.AccessController.doPrivileged(Native Method) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) > at > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) > at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) > at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) > at > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269) > ... 43 more > Caused by: java.security.spec.InvalidKeySpecException: > java.security.InvalidKeyException: IOException : DerInputStream.getLength(): > lengthTag=111, too big. > at > sun.security.rsa.RSAKeyFactory.engineGeneratePrivate(RSAKeyFactory.java:200) > at java.security.KeyFactory.generatePrivate(KeyFactory.java:342) > at > org.jasig.cas.util.PrivateKeyFactoryBean.createInstance(PrivateKeyFactoryBean.java:41) > at > org.springframework.beans.factory.config.AbstractFactoryBean.afterPropertiesSet(AbstractFactoryBean.java:130) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335) > ... 53 more > Caused by: java.security.InvalidKeyException: IOException : > DerInputStream.getLength(): lengthTag=111, too big. > at sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:344) > at sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:350) > at > sun.security.rsa.RSAPrivateCrtKeyImpl.<init>(RSAPrivateCrtKeyImpl.java:74) > at > sun.security.rsa.RSAPrivateCrtKeyImpl.newKey(RSAPrivateCrtKeyImpl.java:58) > at > sun.security.rsa.RSAKeyFactory.generatePrivate(RSAKeyFactory.java:299) > at > sun.security.rsa.RSAKeyFactory.engineGeneratePrivate(RSAKeyFactory.java:196) > ... 58 more > > > -- > Curtis Garman > Web Programmer > Heartland Community College > -- Curtis Garman Web Programmer Heartland Community College -- 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
