Camel offers several forms & levels of security capabilities that can be utilized on camel routes. These various forms of security may be used in conjunction with each other or separately.
The broad categories offered are
Route Security - Authentication and Authorization services to proceed on a route or route segment
Payload Security - Data Formats that offer encryption/decryption services at the payload level
Endpoint Security - Security offered by components that can be utilized by endpointUri associated with the component
Configuration Security - Security offered by encrypting sensitive information from configuration files
Camel offers Policy driven security capabilities that may be wired into routes or route segments. A Policy in Camel utilizes a strategy pattern for applying interceptors on Camel Processors. It offering the ability to apply cross-cutting concerns (for example. security, transactions etc) on sections/segments of a camel route.
The components offering authentication and authorization Services utilizing Route Policies are
[[Security-PayloadSecurity-DataFormatsandProducers/Consumersofferingencryption/decryptionservices]] == Payload Security - Data Formats and Producers/Consumers offering encryption/decryption services
Camel offers encryption/decryption services to secure payloads or selectively apply encryption/decryption capabilities on portions/sections of a payload.
These capabilites are offered by the following components
Some components in camel offer an ability to secure their endpoints (using interceptors etc) and therefore ensure that they offer the ability to secure payloads as well as provide authentication/authorization capabilities at endpoints created using the components.
Some such components are
Jetty - HTTP Basic Authentication support * SSL support
CXF - HTTP Basic Authentication & WS-Security support using the CXF Bus driven interceptor chain
Spring Web Services - HTTP Basic Authentication & WS-Security support
Netty - SSL support
MINA - SSL support
Cometd - SSL support
JMS - JAAS and SSL based security for client ←→ broker communication
Since Camel 2.5
Camel offers the Properties component to externalize configuration values to properties files. Those values could contain sensitive information such as usernames and passwords. Those values can be encrypted and automatic decrypted by Camel.
Since Camel 2.8
Camel offers the JSSE Utility for configuring SSL/TLS related aspects of a number of Camel components.