Search in sources :

Example 61 with KeyStoreParameters

use of org.apache.camel.util.jsse.KeyStoreParameters in project wildfly-camel by wildfly-extras.

the class CryptoCmsIntegrationTest method testCryptoCmsSignEncryptDecryptVerify.

@Test
public void testCryptoCmsSignEncryptDecryptVerify() throws Exception {
    Assume.assumeFalse("[#2241] CryptoCmsIntegrationTest fails on IBM JDK", EnvironmentUtils.isIbmJDK() || EnvironmentUtils.isOpenJDK());
    CamelContext camelctx = new DefaultCamelContext();
    camelctx.addRoutes(new RouteBuilder() {

        @Override
        public void configure() throws Exception {
            from("direct:start").to("crypto-cms:sign://testsign?signer=#signer1&signer=#signer2&includeContent=true").to("crypto-cms:encrypt://testencrpyt?toBase64=true&recipient=#recipient1&contentEncryptionAlgorithm=DESede/CBC/PKCS5Padding&secretKeyLength=128").to("crypto-cms:decrypt://testdecrypt?fromBase64=true&keyStoreParameters=#keyStoreParameters").to("crypto-cms:verify://testverify?keyStoreParameters=#keyStoreParameters").to("mock:result");
        }
    });
    KeyStoreParameters keyStoreParameters = new KeyStoreParameters();
    keyStoreParameters.setType("JCEKS");
    keyStoreParameters.setResource("/crypto.keystore");
    keyStoreParameters.setPassword("Abcd1234");
    DefaultKeyTransRecipientInfo recipient = new DefaultKeyTransRecipientInfo();
    recipient.setCertificateAlias("rsa");
    recipient.setKeyStoreParameters(keyStoreParameters);
    DefaultSignerInfo signerInfo = new DefaultSignerInfo();
    signerInfo.setIncludeCertificates(true);
    signerInfo.setSignatureAlgorithm("SHA256withRSA");
    signerInfo.setPrivateKeyAlias("rsa");
    signerInfo.setKeyStoreParameters(keyStoreParameters);
    DefaultSignerInfo signerInfo2 = new DefaultSignerInfo();
    signerInfo2.setSignatureAlgorithm("SHA256withDSA");
    signerInfo2.setPrivateKeyAlias("dsa");
    signerInfo2.setKeyStoreParameters(keyStoreParameters);
    MockEndpoint mockEndpoint = camelctx.getEndpoint("mock:result", MockEndpoint.class);
    mockEndpoint.expectedBodiesReceived("Testmessage");
    context.bind("keyStoreParameters", keyStoreParameters);
    context.bind("signer1", signerInfo);
    context.bind("signer2", signerInfo2);
    context.bind("recipient1", recipient);
    camelctx.start();
    try {
        ProducerTemplate template = camelctx.createProducerTemplate();
        template.sendBody("direct:start", "Testmessage");
        mockEndpoint.assertIsSatisfied();
    } finally {
        camelctx.stop();
        context.unbind("keyStoreParameters");
        context.unbind("signer1");
        context.unbind("signer2");
        context.unbind("recipient1");
    }
}
Also used : CamelContext(org.apache.camel.CamelContext) DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) ProducerTemplate(org.apache.camel.ProducerTemplate) DefaultKeyTransRecipientInfo(org.apache.camel.component.crypto.cms.crypt.DefaultKeyTransRecipientInfo) RouteBuilder(org.apache.camel.builder.RouteBuilder) MockEndpoint(org.apache.camel.component.mock.MockEndpoint) DefaultSignerInfo(org.apache.camel.component.crypto.cms.sig.DefaultSignerInfo) KeyStoreParameters(org.apache.camel.util.jsse.KeyStoreParameters) DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) Test(org.junit.Test)

Example 62 with KeyStoreParameters

use of org.apache.camel.util.jsse.KeyStoreParameters in project wildfly-camel by wildfly-extras.

the class CryptoCmsIntegrationTest method testCryptoCmsDecryptVerifyBinary.

@Test
public void testCryptoCmsDecryptVerifyBinary() throws Exception {
    Assume.assumeFalse("[#2241] CryptoCmsIntegrationTest fails on IBM JDK", EnvironmentUtils.isIbmJDK() || EnvironmentUtils.isOpenJDK());
    CamelContext camelctx = new DefaultCamelContext();
    camelctx.addRoutes(new RouteBuilder() {

        @Override
        public void configure() throws Exception {
            from("direct:start").to("crypto-cms:decrypt://testdecrypt?fromBase64=true&keyStoreParameters=#keyStoreParameters").to("crypto-cms:verify://testverify?keyStoreParameters=#keyStoreParameters").to("mock:result");
        }
    });
    KeyStoreParameters keyStoreParameters = new KeyStoreParameters();
    keyStoreParameters.setType("JCEKS");
    keyStoreParameters.setResource("/crypto.keystore");
    keyStoreParameters.setPassword("Abcd1234");
    context.bind("keyStoreParameters", keyStoreParameters);
    MockEndpoint mockEndpoint = camelctx.getEndpoint("mock:result", MockEndpoint.class);
    mockEndpoint.expectedBodiesReceived("Testmessage");
    camelctx.start();
    try {
        InputStream input = CryptoCmsIntegrationTest.class.getResourceAsStream("/signed.bin");
        ProducerTemplate template = camelctx.createProducerTemplate();
        template.sendBody("direct:start", input);
        mockEndpoint.assertIsSatisfied();
    } finally {
        camelctx.stop();
        context.unbind("keyStoreParameters");
    }
}
Also used : CamelContext(org.apache.camel.CamelContext) DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) ProducerTemplate(org.apache.camel.ProducerTemplate) RouteBuilder(org.apache.camel.builder.RouteBuilder) MockEndpoint(org.apache.camel.component.mock.MockEndpoint) InputStream(java.io.InputStream) KeyStoreParameters(org.apache.camel.util.jsse.KeyStoreParameters) DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) Test(org.junit.Test)

Example 63 with KeyStoreParameters

use of org.apache.camel.util.jsse.KeyStoreParameters in project wildfly-camel by wildfly-extras.

the class ApnsUtils method clientContext.

public static SSLContextParameters clientContext() throws Exception {
    final KeyStoreParameters ksp = new KeyStoreParameters();
    ksp.setResource(ApnsUtils.class.getResource("/" + FixedCertificates.CLIENT_STORE).toString());
    ksp.setType("PKCS12");
    final KeyManagersParameters kmp = new KeyManagersParameters();
    kmp.setKeyStore(ksp);
    kmp.setKeyPassword(FixedCertificates.CLIENT_PASSWORD);
    kmp.setAlgorithm(getAlgorithm());
    final SSLContextParameters contextParameters = new SSLContextParameters();
    contextParameters.setKeyManagers(kmp);
    contextParameters.setTrustManagers(new TrustManagersParameters() {

        @Override
        public TrustManager[] createTrustManagers() throws GeneralSecurityException, IOException {
            return new TrustManager[] { new X509TrustManager() {

                public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
                }

                public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
                }

                public X509Certificate[] getAcceptedIssuers() {
                    return new X509Certificate[0];
                }
            } };
        }
    });
    return contextParameters;
}
Also used : KeyManagersParameters(org.apache.camel.util.jsse.KeyManagersParameters) X509TrustManager(javax.net.ssl.X509TrustManager) GeneralSecurityException(java.security.GeneralSecurityException) TrustManagersParameters(org.apache.camel.util.jsse.TrustManagersParameters) KeyStoreParameters(org.apache.camel.util.jsse.KeyStoreParameters) CertificateException(java.security.cert.CertificateException) IOException(java.io.IOException) X509Certificate(java.security.cert.X509Certificate) SSLContextParameters(org.apache.camel.util.jsse.SSLContextParameters)

Example 64 with KeyStoreParameters

use of org.apache.camel.util.jsse.KeyStoreParameters in project wildfly-camel by wildfly-extras.

the class SecureNettyIntegrationTest method setUp.

@Before
public void setUp() throws Exception {
    KeyStoreParameters ksp = new KeyStoreParameters();
    ksp.setResource("/" + KEYSTORE);
    ksp.setPassword(KEYSTORE_PASSWORD);
    KeyManagersParameters kmp = new KeyManagersParameters();
    kmp.setKeyPassword(KEYSTORE_PASSWORD);
    kmp.setKeyStore(ksp);
    TrustManagersParameters tmp = new TrustManagersParameters();
    tmp.setKeyStore(ksp);
    SSLContextParameters scp = new SSLContextParameters();
    scp.setKeyManagers(kmp);
    scp.setTrustManagers(tmp);
    InitialContext context = new InitialContext();
    context.bind("sslContextParameters", scp);
}
Also used : KeyManagersParameters(org.apache.camel.util.jsse.KeyManagersParameters) TrustManagersParameters(org.apache.camel.util.jsse.TrustManagersParameters) KeyStoreParameters(org.apache.camel.util.jsse.KeyStoreParameters) InitialContext(javax.naming.InitialContext) SSLContextParameters(org.apache.camel.util.jsse.SSLContextParameters) Before(org.junit.Before)

Aggregations

KeyStoreParameters (org.apache.camel.util.jsse.KeyStoreParameters)64 SSLContextParameters (org.apache.camel.util.jsse.SSLContextParameters)35 KeyManagersParameters (org.apache.camel.util.jsse.KeyManagersParameters)29 TrustManagersParameters (org.apache.camel.util.jsse.TrustManagersParameters)28 RouteBuilder (org.apache.camel.builder.RouteBuilder)26 Test (org.junit.Test)23 JndiRegistry (org.apache.camel.impl.JndiRegistry)17 SSLContextServerParameters (org.apache.camel.util.jsse.SSLContextServerParameters)7 MockEndpoint (org.apache.camel.component.mock.MockEndpoint)6 IOException (java.io.IOException)3 GeneralSecurityException (java.security.GeneralSecurityException)3 KeyStore (java.security.KeyStore)3 HashMap (java.util.HashMap)3 CamelContext (org.apache.camel.CamelContext)3 Exchange (org.apache.camel.Exchange)3 Processor (org.apache.camel.Processor)3 Certificate (java.security.cert.Certificate)2 CertificateException (java.security.cert.CertificateException)2 X509Certificate (java.security.cert.X509Certificate)2 X509TrustManager (javax.net.ssl.X509TrustManager)2