Authentication protocol settings for a client configuration

You can use settings in the sas.client.props file to configure Security Authentication Service (SAS) and Common Secure Interoperability Version 2 (CSIv2) clients.

[AIX Solaris HP-UX Linux Windows][z/OS]Use the following settings in the app_server_root/properties/sas.client.props file to configure SAS and CSIv2 clients.

[IBM i]Use the following settings in the sas.client.props file to configure SAS and CSIv2 clients. By default, the sas.client.props file is located in the profile_root/properties directory of your WebSphere Application Server WebSphere Application Server Network Deployment installation.

[AIX Solaris HP-UX Linux Windows][IBM i]Important: SAS is supported only between Version 6.0.x and previous version servers that have been federated in a Version 6.1 cell.
[z/OS]Important: z/SAS is supported only between Version 6.0.x and previous version servers that have been federated in a Version 6.1 cell.
Note: The sas.client.props file for WebSphere Application Server Version 8.5 contains some new properties that support BasicAuth and Kerberos, such as:
com.ibm.IPC.authenticationTarget=BasicAuth
com.ibm.IPC.loginUserid=
com.ibm.IPC.loginPassword=
com.ibm.IPC.loginSource=prompt
com.ibm.IPC.krb5Service=WAS
com.ibm.IPC.krb5CcacheFile=
com.ibm.IPC.krb5ConfigFile=

com.ibm.CORBA.securityEnabled

Use to determine if security is enabled for the client process.

Table 1. com.ibm.CORBA.securityEnabled . This table describes the com.ibm.CORBA.securityEnabled setting.
Setting Value
Data Type Boolean
Default True
Valid values True or false
[AIX Solaris HP-UX Linux Windows][IBM i]

com.ibm.CSI.protocol

Use to determine which authentication protocols are active.

The client can configure protocols of ibm, csiv2 or both as active. The only possible values for an authentication protocol are ibm, csiv2 and both. Do not use sas for the value of an authentication protocol. This restriction applies to both client and server configurations. The following list provides information about using each of these protocol options:

ibm
Use this authentication protocol option when you are communicating with WebSphere Application Server Version 4.x or earlier servers.
csiv2
Use this authentication protocol option when you are communicating with WebSphere Application Server Version 5 or later servers because the SAS interceptors are not loaded and running for each method request.
both
Use this authentication protocol option for interoperability between WebSphere Application Server Version 4.x or earlier servers and WebSphere Application Server Version 5 or later servers. Typically, specifying both provides greater interoperability with other servers.
Table 2. com.ibm.CSI.protocol . This table describes the com.ibm.CSI.protocol setting.
Setting Value
Data type String
Default Both
Valid values ibm, csiv2, both

com.ibm.CORBA.authenticationTarget

Use to determine the type of authentication mechanism for sending security information from the client to the server.

If basic authentication is specified, the user ID and password are sent to the server. Using the Secure Sockets Layer (SSL) transport with this type of authentication is recommended; otherwise, the password is not encrypted. The target server must support the specified authentication target.

Table 3. com.ibm.CORBA.authenticationTarget . This table describes the com.ibm.CORBA.authenticationTarget setting.
Setting Value
Data type String
Default BasicAuth
Valid values BasicAuth, KRB5

com.ibm.CORBA.validateBasicAuth

Use to determine if the user ID and password get validated immediately after the login data is entered when the authenticationTarget property is set to BasicAuth.

In previous releases, BasicAuth logins validated only with the initial method request. During the first request, the user ID and password are sent to the server. This request is the first time that the client can notice an error, if the user ID or password is incorrect. The validateBasicAuth method is specified and the validation of the user ID and password occurs immediately to the security server.

[z/OS]Note: Set com.ibm.CORBA.validateBasicAuth=false whenever connecting to a z/OS® server. This function does not currently work from a distributed client to a z/OS server since the SecurityServer is located using the "UNAUTHENTICATED" principal, which is not accepted on a z/OS system.

For performance reasons, you might want to disable this property if you do not want to verify the user ID and password immediately. If the client program can wait, it is better to have the initial method request flow to the user ID and password. However, program logic might not be this simple because of error handling considerations.

Table 4. com.ibm.CORBA.validateBasicAuth . This table describes the com.ibm.CORBA.validateBasicAuth setting.
Setting Value
Data type Boolean
Default True
Valid values True, False

com.ibm.CORBA.authenticationRetryEnabled

Use to specify that a failed login attempt is retried. This property determines if a retry occurs for other errors, such as stateful sessions that are not found on a server or validation failures at the server because of an expiring credential.

The minor code in the exception that is returned to a client determines which errors are retried. The number of retry attempts is dependent upon the com.ibm.CORBA.authenticationRetryCount property.

Table 5. com.ibm.CORBA.authenticationRetryEnabled . This table describes the com.ibm.CORBA.authenticationRetryEnabled setting.
Setting Value
Data type Boolean
Default True
Valid values True, False

com.ibm.CORBA.authenticationRetryCount

Use to specify the number of retries that occur until either a successful authentication occurs or the maximum retry value is reached.

When the maximum retry value is reached, the authentication exception is returned to the client.

Table 6. com.ibm.CORBA.authenticationRetryCount . This table describes the com.ibm.CORBA.authenticationRetryCount setting.
Setting Value
Data type Integer
Default 3
Range 1-10

com.ibm.CORBA.loginSource

Use to specify how the request interceptor attempts to log in if it does not find an invocation credential already set.

This property is valid only if message layer authentication occurs. If only transport layer authentication occurs, this property is ignored. When specifying properties, the following two additional properties must be defined:
  • com.ibm.CORBA.loginUserid
  • com.ibm.CORBA.loginPassword
When performing a programmatic login, it is not necessary to specify none as the login source. The request fails if a credential is set as the invocation credential during a method request.
[z/OS]Important: For the z/OS platform, you can edit the properties file, sas.client.props, and set the loginSource property as follows: com.ibm.CORBA.loginSource=none

When you set com.ibm.CORBA.loginSource=none for a remote method invocation (RMI) connection, whether using scripting with wsadmin or from other clients, the logged-in user's credentials are inherited. There is no need to specify user and/or password at the command line or in the sas.client.props properties file. This inherited credential behavior when using com.ibm.CORBA.loginSource=none is only available on the z/OS platform.

[AIX Solaris HP-UX Linux Windows]Important: For the distributed platform, you can choose to NOT edit the properties file, sas.client.props, but set the loginSource property as follows: com.ibm.CORBA.loginSource=none

When you set com.ibm.CORBA.loginSource=none for a remote method invocation (RMI) connection, whether using scripting with wsadmin or from other clients, you have to perform a programmatic logon because the logged-in user's credentials are not inherited. You must specify user and/or password at the command line.

Table 7. com.ibm.CORBA.loginSource . This table describes the com.ibm.CORBA.loginSource setting.
Setting Value
Data type String
Default Prompt
Valid values Prompt, key file, stdin, none, properties

com.ibm.CORBA.loginUserid

Use to specify the user ID when a properties login is configured and message layer authentication occurs.

This property is valid only when com.ibm.CORBA.loginSource=properties. Also set the com.ibm.CORBA.loginPassword property.

Table 8. com.ibm.CORBA.loginUserid . This table describes the com.ibm.CORBA.loginUserid setting.
Setting Value
Data type String
Range Any string that is appropriate for a user ID in the configured user registry of the server.

com.ibm.CORBA.loginPassword

Use to specify the password when a properties login is configured and message layer authentication occurs.

This property is valid only when com.ibm.CORBA.loginSource=properties. Also set the com.ibm.CORBA.loginUserid property.

Table 9. com.ibm.CORBA.loginPassword . This table describes the com.ibm.CORBA.loginPassword setting.
Setting Value
Data type String
Range Any string that is appropriate for a password in the configured user registry of the server.

com.ibm.CORBA.keyFileName

Use to specify the key file that is used to log in.

A key file is a file that contains a list of realm, user ID, and password combinations that a client uses to log into multiple realms. The realm that is used is the one found in the interoperable object reference (IOR) for the current method request. The value of this property is used when the com.ibm.CORBA.loginSource=key file is used.

Table 10. com.ibm.CORBA.keyFileName . This table describes the com.ibm.CORBA.keyFileName setting.
Setting Value
Data type String
Default C;/WebSphere/AppServer/properties/wsserver.key
Range Any fully qualified path and file name of a WebSphere Application Server key file.

com.ibm.CORBA.loginTimeout

Use to specify the length of time that the login prompt stays available before it is considered a failed login.

Table 11. com.ibm.CORBA.loginTimeout . This table describes the com.ibm.CORBA.loginTimeout setting.
Setting Value
Data type Integer
Units Seconds
Default 300 (5 minute intervals)
Range 0 - 600 (10 minute intervals)