Products | Versions |
---|---|
TIBCO DataSynapse GridServer | - |
Not Applicable | - |
Description:
This knowledge base article describes the requisites as well as how to implement Kerberos SSO for the Java driver in a GridServer 6.1 environment on the Windows platform.
The following versions of Java are supported when using Kerberos SSO with Java :
You must ensure that you have installed Java Cryptography Extensions (JCE) Unlimited Strength Jurisdiction Policy Files. These files are dependent on the Java version and can be downloaded from Oracle at:
Add/change the following registry value:
Key: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos
Value Name: allowtgtsessionkey
Value Type: REG_DWORD
Value Data: 1
Add/change the following registry value:
Key: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters
Value Name: allowtgtsessionkey
Value Type: REG_DWORD
Value Data: 1
Note: You may find references to the required value type being REG_SZ in MSDN or other places. This a bug. The Value type should be REG_DWORDSetting up the Java Driver
The DSNegotiateEnabled property in driver.properties specifies if Negotiate authentication is used. Set this to true in the driver.properties file or by using the DriverManager API to enable Negotiate authentication, otherwise the username and password properties will be used.
Java includes support for Kerberos authentication natively. The standard method of configuring a Kerberos-enabled application is via the login.conf and krb5.conf files depending on which version of Java you use.
login.conf is only required with Java 6. If you are using Java 6, you must create a login.conf file as shown below. Java 7 does not require login.conf.
login.conf
com.sun.security.jgss.krb5.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=
true
doNotPrompt=
true
;
};
|
We have added the following convenience properties to driver.properties file so that you do not need a krb5.conf file:
These properties can also be set via the DriverManager class using the GridServer API.
Note: If your Java application already is set up to use Kerberos, you might not need to do anything.