Hi You should not set default value to null, eg + @UriParam(label = "sign", defaultValue = "null")
should just be + @UriParam(label = "sign") On Fri, Jul 28, 2017 at 4:25 PM, <forstho...@apache.org> wrote: > Repository: camel > Updated Branches: > refs/heads/master 8781be036 -> cf9cd31e7 > > > CAMEL-11438 spring tests added to crypto-cms > > Project: http://git-wip-us.apache.org/repos/asf/camel/repo > Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/cf9cd31e > Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/cf9cd31e > Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/cf9cd31e > > Branch: refs/heads/master > Commit: cf9cd31e705628588c774751150422c2bfdd9193 > Parents: 8781be0 > Author: Franz Forsthofer <franz.forstho...@sap.com> > Authored: Fri Jul 28 16:21:32 2017 +0200 > Committer: Franz Forsthofer <franz.forstho...@sap.com> > Committed: Fri Jul 28 16:21:32 2017 +0200 > > ---------------------------------------------------------------------- > .../common/DefaultCryptoCmsConfiguration.java | 2 +- > .../crypto/cms/sig/DefaultSignerInfo.java | 4 +- > .../component/crypto/cms/ComponentTest.java | 7 +- > .../crypto/cms/SpringComponentTest.java | 34 +++++ > .../component/crypto/cms/util/KeystoreUtil.java | 2 +- > .../src/test/resources/SpringCryptoCmsTests.xml | 123 +++++++++++++++++++ > .../src/test/resources/keystore/system.jks | Bin 5697 -> 5697 bytes > 7 files changed, 163 insertions(+), 9 deletions(-) > ---------------------------------------------------------------------- > > > http://git-wip-us.apache.org/repos/asf/camel/blob/cf9cd31e/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/common/DefaultCryptoCmsConfiguration.java > ---------------------------------------------------------------------- > diff --git > a/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/common/DefaultCryptoCmsConfiguration.java > > b/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/common/DefaultCryptoCmsConfiguration.java > index 120ee22..7331aa5 100644 > --- > a/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/common/DefaultCryptoCmsConfiguration.java > +++ > b/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/common/DefaultCryptoCmsConfiguration.java > @@ -35,7 +35,7 @@ public abstract class DefaultCryptoCmsConfiguration { > private KeyStore keyStore; > > /** > - * Keystore containing signer private keys verifier public keys, > encryptor > + * Keystore containing signer private keys, verifier public keys, > encryptor > * public keys, decryptor private keys depending on the operation. Use > * either this parameter or the parameter 'keystore'. > */ > > http://git-wip-us.apache.org/repos/asf/camel/blob/cf9cd31e/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/sig/DefaultSignerInfo.java > ---------------------------------------------------------------------- > diff --git > a/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/sig/DefaultSignerInfo.java > > b/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/sig/DefaultSignerInfo.java > index 0a02a03..19480ee 100644 > --- > a/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/sig/DefaultSignerInfo.java > +++ > b/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/sig/DefaultSignerInfo.java > @@ -50,10 +50,10 @@ public class DefaultSignerInfo extends > DefaultCryptoCmsConfiguration implements > @UriParam(label = "sign", defaultValue = "true") > private boolean includeCertificates = true; > > - @UriParam(label = "sign,advanced") > + @UriParam(label = "sign") > private CMSAttributeTableGenerator signedAttributeGenerator = new > DefaultSignedAttributeTableGenerator(); > > - @UriParam(label = "sign,advanced", defaultValue = "null") > + @UriParam(label = "sign", defaultValue = "null") > private CMSAttributeTableGenerator unsignedAttributeGenerator; > > /** > > http://git-wip-us.apache.org/repos/asf/camel/blob/cf9cd31e/components/camel-crypto-cms/src/test/java/org/apache/camel/component/crypto/cms/ComponentTest.java > ---------------------------------------------------------------------- > diff --git > a/components/camel-crypto-cms/src/test/java/org/apache/camel/component/crypto/cms/ComponentTest.java > > b/components/camel-crypto-cms/src/test/java/org/apache/camel/component/crypto/cms/ComponentTest.java > index 497aa70..2e7d8c9 100644 > --- > a/components/camel-crypto-cms/src/test/java/org/apache/camel/component/crypto/cms/ComponentTest.java > +++ > b/components/camel-crypto-cms/src/test/java/org/apache/camel/component/crypto/cms/ComponentTest.java > @@ -110,9 +110,8 @@ public class ComponentTest extends CamelTestSupport { > recipient.setKeyStoreParameters(keystore); > > DefaultSignerInfo signerInfo = new DefaultSignerInfo(); > - signerInfo.setIncludeCertificates(true); // optional default > - // value is true > - signerInfo.setSignatureAlgorithm("SHA256withRSA"); // > mandatory > + signerInfo.setIncludeCertificates(true); > + signerInfo.setSignatureAlgorithm("SHA256withRSA"); > signerInfo.setPrivateKeyAlias("rsa"); > signerInfo.setKeyStoreParameters(keystore); > > @@ -121,8 +120,6 @@ public class ComponentTest extends CamelTestSupport { > signerInfo2.setPrivateKeyAlias("dsa"); > signerInfo2.setKeyStoreParameters(keystore); > > - getContext().addComponent("crypto-cms", new > CryptoCmsComponent(getContext())); > - > simpleReg.put("keyStoreParameters", keystore); > simpleReg.put("signer1", signerInfo); > simpleReg.put("signer2", signerInfo2); > > http://git-wip-us.apache.org/repos/asf/camel/blob/cf9cd31e/components/camel-crypto-cms/src/test/java/org/apache/camel/component/crypto/cms/SpringComponentTest.java > ---------------------------------------------------------------------- > diff --git > a/components/camel-crypto-cms/src/test/java/org/apache/camel/component/crypto/cms/SpringComponentTest.java > > b/components/camel-crypto-cms/src/test/java/org/apache/camel/component/crypto/cms/SpringComponentTest.java > new file mode 100644 > index 0000000..d8ecd70 > --- /dev/null > +++ > b/components/camel-crypto-cms/src/test/java/org/apache/camel/component/crypto/cms/SpringComponentTest.java > @@ -0,0 +1,34 @@ > +package org.apache.camel.component.crypto.cms; > + > +import org.apache.camel.CamelContext; > +import org.apache.camel.builder.RouteBuilder; > +import org.apache.camel.impl.JndiRegistry; > +import org.apache.camel.spring.SpringCamelContext; > + > +public class SpringComponentTest extends ComponentTest { > + > + protected CamelContext createCamelContext() throws Exception { > + > + return > SpringCamelContext.springCamelContext("SpringCryptoCmsTests.xml"); > + } > + > + @Override > + protected JndiRegistry createRegistry() throws Exception { > + return super.createRegistry(); > + } > + > + protected RouteBuilder createRouteBuilder() throws Exception { > + return new RouteBuilder() { > + @Override > + public void configure() { > + // no routes added by default > + } > + }; > + } > + > + @Override > + protected RouteBuilder[] createRouteBuilders() throws Exception { > + return new RouteBuilder[] {}; > + } > + > +} > > http://git-wip-us.apache.org/repos/asf/camel/blob/cf9cd31e/components/camel-crypto-cms/src/test/java/org/apache/camel/component/crypto/cms/util/KeystoreUtil.java > ---------------------------------------------------------------------- > diff --git > a/components/camel-crypto-cms/src/test/java/org/apache/camel/component/crypto/cms/util/KeystoreUtil.java > > b/components/camel-crypto-cms/src/test/java/org/apache/camel/component/crypto/cms/util/KeystoreUtil.java > index 4381229..0798cac 100644 > --- > a/components/camel-crypto-cms/src/test/java/org/apache/camel/component/crypto/cms/util/KeystoreUtil.java > +++ > b/components/camel-crypto-cms/src/test/java/org/apache/camel/component/crypto/cms/util/KeystoreUtil.java > @@ -32,7 +32,7 @@ public final class KeystoreUtil { > if (keystoreName.startsWith("test")) { > pw = "abcd1234"; > } else { > - pw = ""; > + pw = "Abcd1234"; > } > keystorePas.setPassword(pw); > return keystorePas; > > http://git-wip-us.apache.org/repos/asf/camel/blob/cf9cd31e/components/camel-crypto-cms/src/test/resources/SpringCryptoCmsTests.xml > ---------------------------------------------------------------------- > diff --git > a/components/camel-crypto-cms/src/test/resources/SpringCryptoCmsTests.xml > b/components/camel-crypto-cms/src/test/resources/SpringCryptoCmsTests.xml > new file mode 100644 > index 0000000..69ac433 > --- /dev/null > +++ b/components/camel-crypto-cms/src/test/resources/SpringCryptoCmsTests.xml > @@ -0,0 +1,123 @@ > +<?xml version="1.0" encoding="UTF-8"?> > +<!-- Licensed to the Apache Software Foundation (ASF) under one or more > contributor > + license agreements. See the NOTICE file distributed with this work for > additional > + information regarding copyright ownership. The ASF licenses this file to > + You under the Apache License, Version 2.0 (the "License"); you may not > use > + this file except in compliance with the License. You may obtain a copy of > + the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required > + by applicable law or agreed to in writing, software distributed under the > + License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR > CONDITIONS > + OF ANY KIND, either express or implied. See the License for the specific > + language governing permissions and limitations under the License. --> > +<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.xsd > + http://camel.apache.org/schema/spring > http://camel.apache.org/schema/spring/camel-spring.xsd > + "> > + > + <camelContext id="camel" > + xmlns="http://camel.apache.org/schema/spring"> > + <onException> > + > <exception>org.apache.camel.component.crypto.cms.exception.CryptoCmsVerifierCertificateNotValidException > + </exception> > + <handled> > + <constant>false</constant> > + </handled> > + <to uri="mock:exception" /> > + </onException> > + > + <!-- START SNIPPET: two-signer --> > + <route> > + <from uri="direct:start" /> > + <to > + > uri="crypto-cms:sign://testsign?signer=#signer1&signer=#signer2&includeContent=true" > /> > + <to > + > uri="crypto-cms:encrypt://testencrpyt?toBase64=true&recipient=#recipient1&contentEncryptionAlgorithm=DESede/CBC/PKCS5Padding&secretKeyLength=128" > /> > + <to > + > uri="crypto-cms:decrypt://testdecrypt?fromBase64=true&keyStoreParameters=#keyStoreParameters1" > /> > + <to > + > uri="crypto-cms:verify://testverify?keyStoreParameters=#keyStoreParameters1" > /> > + <to uri="mock:result" /> > + </route> > + <!-- END SNIPPET: two-signer --> > + > + > + <!-- START SNIPPET: outdated --> > + <route> > + <from uri="direct:outdated" /> > + <to > + > uri="crypto-cms:sign://outdated?signer=#signerOutdated&includeContent=true" > /> > + <to > + > uri="crypto-cms:verify://testverify?keyStoreParameters=#keyStoreParameters1" > /> > + <to uri="mock:result" /> > + </route> > + <!-- END SNIPPET: outdated --> > + > + <!-- START SNIPPET: decryptAndVerify --> > + <route> > + <from uri="direct:decryptAndVerify" /> > + <to > + > uri="crypto-cms:decrypt://testdecrypt?fromBase64=true&keyStoreParameters=#keyStoreParameters1" > /> > + <to > + > uri="crypto-cms:verify://testverify?keyStoreParameters=#keyStoreParameters1" > /> > + <to uri="mock:result" /> > + </route> > + <!-- END SNIPPET: decryptAndVerify --> > + > + <!-- START SNIPPET: encryptDecryptOriginatorAttributes --> > + <route> > + <from uri="direct:encryptDecryptOriginatorAttributes" /> > + <to > + > uri="crypto-cms:encrypt://testencrpyt?toBase64=true&recipient=#recipient1&contentEncryptionAlgorithm=DESede/CBC/PKCS5Padding&secretKeyLength=128&originatorInformationProvider=#originatorInformationProvider1&unprotectedAttributesGeneratorProvider=#attributesGeneratorProvider1" > /> > + <to > + > uri="crypto-cms:decrypt://testdecrypt?fromBase64=true&keyStoreParameters=#keyStoreParameters1" > /> > + <to uri="mock:result" /> > + </route> > + <!-- END SNIPPET: encryptDecryptOriginatorAttributes --> > + > + > + </camelContext> > + > + <keyStoreParameters xmlns="http://camel.apache.org/schema/spring" > + id="keyStoreParameters1" resource="./keystore/system.jks" > + password="Abcd1234" type="JCEKS" /> > + > + <bean id="recipient1" > + > class="org.apache.camel.component.crypto.cms.crypt.DefaultKeyTransRecipientInfo"> > + <property name="keyStoreParameters" ref="keyStoreParameters1" /> > + <property name="certificateAlias" value="rsa" /> > + </bean> > + > + <bean id="signer1" > + class="org.apache.camel.component.crypto.cms.sig.DefaultSignerInfo"> > + <property name="keyStoreParameters" ref="keyStoreParameters1" /> > + <property name="privateKeyAlias" value="rsa" /> > + <property name="signatureAlgorithm" value="SHA256withRSA" /> > + <property name="includeCertificates" value="true" /> > + </bean> > + > + <bean id="signer2" > + class="org.apache.camel.component.crypto.cms.sig.DefaultSignerInfo"> > + <property name="keyStoreParameters" ref="keyStoreParameters1" /> > + <property name="privateKeyAlias" value="dsa" /> > + <property name="signatureAlgorithm" value="SHA256withDSA" /> > + </bean> > + > + <bean id="signerOutdated" > + class="org.apache.camel.component.crypto.cms.sig.DefaultSignerInfo"> > + <property name="keyStoreParameters" ref="keyStoreParameters1" /> > + <property name="privateKeyAlias" value="outdated" /> > + <property name="signatureAlgorithm" value="SHA1withRSA" /> > + <property name="includeCertificates" value="false" /> > + </bean> > + > + <bean id="originatorInformationProvider1" > + > class="org.apache.camel.component.crypto.cms.util.TestOriginatorInformationProvider" > /> > + > + <bean id="attributesGeneratorProvider1" > + > class="org.apache.camel.component.crypto.cms.util.TestAttributesGeneratorProvider" > /> > + > + > + > +</beans> > > http://git-wip-us.apache.org/repos/asf/camel/blob/cf9cd31e/components/camel-crypto-cms/src/test/resources/keystore/system.jks > ---------------------------------------------------------------------- > diff --git > a/components/camel-crypto-cms/src/test/resources/keystore/system.jks > b/components/camel-crypto-cms/src/test/resources/keystore/system.jks > index c9f894e..510c3a2 100644 > Binary files > a/components/camel-crypto-cms/src/test/resources/keystore/system.jks and > b/components/camel-crypto-cms/src/test/resources/keystore/system.jks differ > -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2