Hello all,
I currently have a problem with a session timeout on IBM TAM that miraculously does not occur when using Fiddler to analyze traffic. Perhaps is there anyone here who could explain me how is this possible?
I will try to explain it in details below.
I have a C# rich client application used on a Terminal machine that calls HTTPS Webservices using PKI certificates read from user smartcards. The calls first pass through an authentication/authorization phase on this IBM Tivoli Access Manager where a session is created. The authentication is based on the certificates attached to each webservice call. Everything works fine, except there is no logout nor end session command (actually there is but not for my Webseal configuration). After a defined time interval, this session expires. It seems like my application tries to reuse this session (although I do not have control of this) so the only way to make it work is to restart it. As nobody was able to explain me how this Webseal session is closed when application shuts down, I started analyzing HTTPS request using Fiddler. And then the strange thing occurred. When using Fiddler, application does not fail anymore calling webservices after timeout so somehow using it enforces creation of a new session. This works only when HTTPS decryption is active and Fiddler acts as a proxy server. Even stranger, without closing my application but trying with/without Fiddler started, it works/fails accordingly.
By analyzing headers I noticed nothing strange, there is no session id or something similar.
I am putting below a snippet of the Webseal logout documentation
https://publib.boulder.ibm.com/tividd/td/ITAME/SC32-1134-01/en_US/HTML/amweb41_admin08.htm
pkmslogout
Clients
can use the pkmslogout command to log out from the current session when they
use an authentication method that does not supply authentication data with each
request. For example, pkmslogout does not work for clients using Basic
Authentication, certificates, or IP address authentication. In this case,
you must close the browser to log out.
It seems that even the official documentation says the user has to close the browser (in my case the .EXE application) to log out.
So, do you have any idea how is this working with Fiddler?
I hope the description of the problem is not too incoherent. Feel free to ask me for more details if necessary.
With kind regards,
Theodor P