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");
}
}
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");
}
}
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;
}
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);
}
Aggregations