Wednesday, 3 May 2017

[Citrix Receiver/ICAClient] SSL error 61

Problem

Funny enough the Citrix receiver does not integrate well into several Linux distros with Firefox (probably other Mozilla browsers too) even though the package from Citrix has been taken to install ICAClient. It happens that SSL error 61 is frequent after a vanilla installation. This usually means that certificates are missing. To integrate the certificates provided by the browser you could link them to ICAClient certificate folder. Be aware that if the browser certificates change place or name this solution probably breaks. You also could copy them into the ICAClient certificate folder eating up more disk space. I will link.

Cause

The certificates provided by the ICAClient are not sufficient, i. e. not present, revoked, outdated, malformed, broken, ...

Citrix client tested

  • 13.4 (seems to be broken, but this problem was not the thing for breakage)
  • 13.5 (seems to be broken, but this problem was not the thing for breakage)

OpenSUSE Leap 42.2 (probably since 13.1)

Credit
sudo ln -s /usr/share/pki/trust/* /opt/Citrix/ICAClient/keystore/cacerts/

Ubuntu

Credit
sudo ln -s /usr/share/ca-certificates/mozilla/* /opt/Citrix/ICAClient/keystore/cacerts/

All

Apparently this is not necessairy: Credit
sudo c_rehash /opt/Citrix/ICAClient/keystore/cacerts/

Actually

In my case this was not sufficient. Even though Firefox provided SwissSign certificates, I had to download the PEMs again from SwissSign Root or SwissSign CA. Firefox's were "broken" (see list above 😉). I put them in /opt/certificates_downloaded as root, root writeable and world readable, linked them analogously to the Firefox's above and rehashed. Probably only SwissSign CA is needed as I came accross this phenomenon on Windows 10/Firefox too. There I had to download the Gold G2 2006 certificate in DER format and install it using the context menu in Windows explorer.

No comments:

Post a Comment

[git] Create a local branch from another branch

From the active branch git checkout -b <LOCAL_BRANCH> From a donator branch git checkout -b <LOCAL_BRANCH> <DONATING_BRANCH...