... |
* "pg" - Defaults to no SSL |
{note}The pg transport for ODBC access defaults to clear text username password authentication.{note} |
SSL configuration is part of the _"transport"_ configuration in the Teiid subsystem. |
... |
<ssl mode="enabled" authentication-mode="1-way" ssl-protocol="SSLv3" keymanagement-algorithm="algo" enabled-cipher-suites="SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_RC4_128_SHA"> |
<keystore name="cert.keystore" password="passwd" type="JKS" key-alias="alias" key-password="passwd1"/> |
<truststore name="cert.truststore" password="passwd"/> </ssl> |
... |
_enabled_ = traffic will be secured with SSL using the other configuration properties. "teiid" transport clients *must* connect using SSL with the mms protocol. ODBC "pg" transport clients may optionally use SSL. |
* ssl-protocol\- Type of SSL protocol to be used. Default Optional - by default is TLSv1 |
|
* keystore/type - Keystore type created by the keytool. Default Optional - by default "JKS" is used. |
* [authentication-mode|#SSL Authentication Modes] - anonymous\|1-way\|2-way, Type of SSL Authentication Mode. |
* keymanagement-algorithm - Type of key algorithm used. Default is based upon the VM, i.e. "SunX509" |
* keymanagement-algorithm - Type of key algorithm used. Optional - by default is based upon the VM, e.g. "SunX509" |
|
* keystore/name - The file name of the keystore, which contains the private key of the Server. The file name can be relative resource path available to the Teiid deployer classloader or an absolute file system path. A typical installation would place the keystore file in the conf directory of the profile where Teiid is deployed with a file name relative to the conf path. Typically required if 1-way or 2-way authentication is used. |
|
* keystorePassword keystore/password - password for the keystore. Required if the keystore has a password. |
|
* keystore/key-alias - Alias name for the certificate that is in the key store. |
* keystore/key-alias - Alias name for the private key to use. Optional - only needed if there are multiple private keys in the keystore and you need to choose which one to use. |
|
* truststore/name - if "authenticationMode" is chosen as "2-way", then this property must be provided. This is the truststore that contains the public key for the client. Depending upon how you created the keystore and truststores, this may be same file as defined under "keystoreFilename" property. |
* keystore/key-password - Alias name for the private key to use. Optional - only needed if the key password is different than the keystore password. |
|
* truststore/password - password for the truststore. |
* truststore/name - This is the truststore containing the public certificate(s) for client keys. Depending upon how you created the keystore and truststores, this may be same file as defined under "keystore/name" property. Required if "authenticationMode" is "2-way". |
|
* enabled-cipher-suites - A comma separated list of cipher suites allowed for encryption between server and client. The values must be valid supported cipher suites otherwise SSL connections will fail. |
* truststore/password - password for the truststore. Required if the truststore has a password. |
|
* enabled-cipher-suites - A comma separated list of cipher suites allowed for encryption between server and client. The values must be valid supported cipher suites otherwise SSL connections will fail. Optional - defaults to all supported cipher suites for the vm. |
{note} You will typically use the CLI to modify the transport configuration. {note} {info:Using password Vault} |
If you do not like to leave clear text passwords in the configuration file, then you can use JBoss AS vault mechanism for storing the keystore and truststore passwords. Use the directions defined here [https://community.jboss.org/docs/DOC-17248|https://community.jboss.org/docs/DOC-17248] |
{info} |
h1. Encryption Strength |
... |
There are two types of remote transports, each with it's own SSL configuration:
![]() | The pg transport for ODBC access defaults to clear text username password authentication. |
SSL configuration is part of the "transport" configuration in the Teiid subsystem.
Teiid supports a couple different encryption modes based on the "mode" attribute on "ssl" element.
For non-anonymous SSL, the suite is negotiated - see enabled-cipher-suites below below.
Depending upon the SSL mode, follow the guidelines of your organization around creating/obtaining private keys. If you have no organizational requirements, then follow this guide to create self-signed certificates with their respective keystores and truststores. The following keystore and truststore combinations are required for different SSL modes. The names of the files can be chosen by the user. The following files are shown for example purposes only.
1-way
2-way
<ssl mode="enabled" authentication-mode="1-way" ssl-protocol="SSLv3" keymanagement-algorithm="algo" enabled-cipher-suites="SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_RC4_128_SHA"> <keystore name="cert.keystore" password="passwd" type="JKS" key-alias="alias" key-password="passwd1"/> <truststore name="cert.truststore" password="passwd"/> </ssl>
Properties
![]() | You will typically use the CLI to modify the transport configuration. |
![]() | If you do not like to leave clear text passwords in the configuration file, then you can use JBoss AS vault mechanism for storing the keystore and truststore passwords. Use the directions defined here https://community.jboss.org/docs/DOC-17248 |
Both anonymous SSL and login only encryption are configured to use 128 bit AES encryption by default. By default 1-way and 2-way SSL allow for cipher suite negotiation based upon the default cipher suites supported by the respective Java platforms of the client and server. Users can restrict the cipher suites used by specifying the enabled-cipher-suites property above in the SSL configuration.