Metadata Aggregator - Issues with XMLSignatureSigningStage
Dan McLaughlin
dmclaughlin at tech-consortium.com
Sat Oct 22 19:24:11 BST 2011
Has anyone had success using XMLSignatureSigningStage yet?
$ mda.sh file:///Users/Dan/workspace/metadata_aggregator/config1.xml
file:///Users/Dan/workspace/metadata_aggregator/my-test-federation.xml2011-10-22
13:15:05,467 - ERROR
[net.shibboleth.metadata.cli.SimpleCommandLine:70] - Unable to
initialize Spring
contextorg.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'signMetadata' defined in URL
[file:/Users/Dan/workspace/metadata_aggregator/config1.xml]:
Initialization of bean failed; nested exception is
org.springframework.beans.ConversionNotSupportedException: Failed to
convert property value of type 'java.lang.String' to required type
'java.security.PrivateKey' for property 'privateKey'; nested exception
is java.lang.IllegalStateException: Cannot convert value of type
[java.lang.String] to required type [java.security.PrivateKey] for
property 'privateKey': no matching editors or conversion strategy
found at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
~[spring-context-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
~[spring-context-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140)
~[spring-context-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:84)
~[spring-context-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
net.shibboleth.metadata.cli.SimpleCommandLine.main(SimpleCommandLine.java:68)
~[aggregator-cli-0.5-SNAPSHOT.jar:na]Caused by:
org.springframework.beans.ConversionNotSupportedException: Failed to
convert property value of type 'java.lang.String' to required type
'java.security.PrivateKey' for property 'privateKey'; nested exception
is java.lang.IllegalStateException: Cannot convert value of type
[java.lang.String] to required type [java.security.PrivateKey] for
property 'privateKey': no matching editors or conversion strategy
found at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:462)
~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:499)
~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:493)
~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1371)
~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1330)
~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] ... 11 common frames
omittedCaused by: java.lang.IllegalStateException: Cannot convert
value of type [java.lang.String] to required type
[java.security.PrivateKey] for property 'privateKey': no matching
editors or conversion strategy found at
org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:231)
~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:447)
~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] ... 17 common frames
omitted
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- First, we define the stages for our pipeline -->
<bean id="source"
class="net.shibboleth.metadata.dom.stage.DomFilesystemSourceStage">
<property name="id" value="source"/>
<property name="parserPool">
<bean class="org.opensaml.util.xml.BasicParserPool"
init-method="initialize"/>
</property>
<property name="source">
<bean class="java.io.File">
<constructor-arg
value="/Users/Dan/workspace/metadata_aggregator/entities"/>
</bean>
</property>
<property name="recurseDirectories" value="true"/>
</bean>
<bean id="removeContactPerson"
class="net.shibboleth.metadata.dom.saml.RemoveContactPersonStage">
<property name="id" value="removeContactPerson"/>
</bean>
<bean id="removeOrganization"
class="net.shibboleth.metadata.dom.saml.RemoveOrganizationStage">
<property name="id" value="removeOrganization"/>
</bean>
<bean id="createEntitiesDescriptor"
class="net.shibboleth.metadata.dom.saml.EntitiesDescriptorAssemblerStage">
<property name="id" value="createEntitiesDescriptor"/>
</bean>
<bean id="signMetadata"
class="net.shibboleth.metadata.dom.stage.XMLSignatureSigningStage">
<property name="id" value="signMetadata"/>
<property name="privateKey"
value="/Users/Dan/workspace/metadata_aggregator/sp-key.pem"/>
</bean>
<!-- Next we define a pipeline with all the stages in it -->
<bean id="pipeline" class="net.shibboleth.metadata.pipeline.SimplePipeline">
<property name="id" value="pipeline"/>
<property name="stages">
<list>
<ref bean="source"/>
<ref bean="removeContactPerson"/>
<ref bean="removeOrganization"/>
<ref bean="createEntitiesDescriptor"/>
<ref bean="signMetadata"/>
</list>
</property>
</bean>
<!-- Lastly we define a serializer that can write out our metadata -->
<bean id="serializer"
class="net.shibboleth.metadata.dom.DomMetadataSerializer"/>
</beans>
--
Thanks,
Dan McLaughlin
More information about the dev
mailing list