Configures inbound or outbound SSL connections.
<ssl
[algorithm="..."]
[protocol="..."]
[ciphers="..."]
[clientAuth="..."]>
<keystore
location="..." [password="..."]
[type="..."] [provider="..."]
[keyPassword="..."] [keyAlias="..."] >?
<truststore
location="..." [password="..."]
[type="..."] [provider="..."]
[algorithm="..."] >?
</ssl>
This example is taken from examples/ssl-server. It demonstrates how to configure inbound SSL.
<serviceProxy port="443">
<ssl>
<keystore
location="../../conf/membrane.jks"
password="secret" keyPassword="secret" />
<truststore
location="../../conf/membrane.jks" password="secret" />
</ssl>
<wsdlRewriter protocol="https" />
<target host="thomas-bayer.com" />
</serviceProxy>
This example is taken from examples/ssl-client. It demonstrates how to configure outbound SSL.
<serviceProxy port="8080">
<path>/svn</path>
<target host="predic8.com" port="443">
<ssl />
</target>
</serviceProxy>
Name | Required | Default | Description | Example |
---|---|---|---|---|
useExperimentalHttp2 | false | false |
whether to enable receiving HTTP/2 requests. (experimental) | - |
protocol | false | TLS |
<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLContext.html#getInstance%28java.lang.String%29">SSLContext.getInstance()</a> | - |
showSSLExceptions | false | true |
Tells Membrane to show SSL exceptions in its log | - |
useAsDefault | false | true |
whether to use the SSLContext built from this SSLParser when no SNI header was transmitted. | - |
endpointIdentificationAlgorithm | false | HTTPS |
See <a href="http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/SSLParameters.html#setEndpointIdentificationAlgorithm%28java.lang.String%29">setEndpointIdentificationAlgorithm()</a>. | - |
ciphers | false | all system default ciphers |
Space separated list of ciphers to allow. <a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLSocketFactory.html#getSupportedCipherSuites%28%29">getSupportedCipherSuites()</a> | TLS_ECDH_anon_WITH_RC4_128_SHA |
serverName | false | same as target hostname. |
Setting the serverName tells Java to use the SNI (<a href="http://www.rfc-base.org/txt/rfc-3546.txt">...</a>) on outbound TLS connections to indicate to the TLS server, which hostname the client wants to connect to. | - |
protocols | false | TLS* |
<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLSocket.html#setEnabledProtocols%28java.lang.String[]%29">SSLSocket.setEnabledProtocols()</a> | - |
clientAuth | false | not set |
Either not set (=no), or <tt>want</tt> or <tt>need</tt>. | need |
ignoreTimestampCheckFailure | false | - | - | - |
algorithm | false | java default |
<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/KeyManagerFactory.html#getDefaultAlgorithm%28%29">getDefaultAlgorithm()</a> | SunX509 |
Elements | Description | Cardinality |
---|---|---|
key | Used to manually compose the keystore. | 0..1 |
keyGenerator | Used to dynamically generate a key for the incoming connection on the fly. | 0..1 |
trust | Used to manually compose the truststore. | 0..1 |
For more information, especially the context and definition of the terminology, see the Java Secure Socket Extension (JSSE) reference guide.