When running the Cognos application server, this one has an embedded SDK C Agent. But when this SDK C Agent receives a SMSESSION cookie from a front-end IIS Web Agent, it cannot decode properly the Session data it reports an error:
CAM-AAA-0165 The SiteMinder agent API function call to 'Sm_AgentApi_DecodeSSOToken()'
failed with error code 'SM_AGENTAPI_FAILURE'
CAM-AAA-0161 Unable to decode SSO token
SDK Agent 12.5x, 12.6, 12.7, 12.8
Windows or Linux/Unix
Note: This KB may apply to many other versions of Web Agent, Policy Server, SDK Agent, and Cognos.
Policy Server runs in FIPS Only Mode, and it has version 12.51
smps.log
[4615/4151736016][Tue Nov 21 2017 17:29:43][CServer.cpp:4017][INFO][sm-Server-04450]
Policy Server employing only FIPS-140 cryptographic algorithms.
In that case, the Environment Variable CA_SM_PS_FIPS140 needs to be
set to to Only for the SDK C Agent to be able to decode session data.
Have the SDK Agent running in the same FIPS Mode as the Web Agent and Policy Server. Since the Web Agent is running in FIPS_ONLY, the SDK Agent will need an Environment Variable to know what FIPS Mode it should be in.
Set an Environment Variable for the OS with
Name: CA_SM_PS_FIPS140
Value: ONLY
Examples
Linux:
# export CA_SM_PS_FIPS140=ONLY
Windows:
From the documentation, if the Policy Server runs FIPS only, you need to set an environment variable on the SDK C Agent side (1).
Setting the environment variable for FIPs only is required for running the SmAgentAPI 'C' Samples for the 4x Agent connection to work. Make sure that this environment variable is set as follows:
# export CA_SM_PS_FIPS140=ONLY