使用Citrix Receiver时出现证书错误

当我尝试在Citrix Receiver中加载桌面模块时,出现了这个错误。

enter image description here

我不明白的是,无论在任何情况下,我都可以看到这个特定证书被设置为“信任...”。这只发生在Ubuntu上,而且在尝试修复问题时,我没有在任何分区上手动安装任何证书。浏览器似乎也无关紧要(Chrome/Firefox都会生成相同的错误)。请原谅我对证书的无知,但这似乎超出了我的专业知识。
我在各种搜索引擎上找到了一些地方,发现其他用户在Linux Citrix Receiver中遇到了类似的证书问题,但我不确定这个证书有什么问题,因为我尝试过的其他建议到目前为止都没有起作用,而且它们太多了,无法详细说明...所以我想从这里开始,看看你们能提供什么帮助。
6个回答

为了防止访问远程会话时出现SSL错误61:
使Firefox的证书可供Citrix访问,
sudo ln -s /usr/share/ca-certificates/mozilla/* /opt/Citrix/ICAClient/keystore/cacerts
sudo /opt/Citrix/ICAClient/util/ctx_rehash

来源:Citrix帮助页面


运作得非常顺利。不知道我是怎么错过这个在Citrix自己的网站上的东西,我想我太过关注用户中心的帮助和论坛了。 - gravity
3适用于基于Ubuntu 16.04的Linux Mint 18操作系统。 - blvdeer
2我做了一个复制而不是符号链接。效果很好。我只复制了它抱怨的证书 --> sudo cp /etc/ssl/certs/DigiCert_High_Assurance_EV_Root_CA.pem /opt/Citrix/ICAClient/keystore/cacerts/ --- 在Ubuntu 16.04.3上使用Citrix Receiver Full 13.6。 - RuntimeException
3注意@marlon的评论:在复制/链接之后,您必须运行sudo /opt/Citrix/ICAClient/util/ctx_rehash - kidmose
1适用于Linux Mint 19(Ubuntu 18.04)(我不得不同时链接文件并运行ctx_rehash),然后它完美地工作了。 - Rocologo
1仍然适用于Ubuntu 19.10,并且正常运行。 - Andreas J
1这个方法帮我解决了Ubuntu 20.04上的"0.0.0.2 No such file or directory"错误。 - Muposat
您可能需要运行 sudo /opt/Citrix/ICAClient/util/ctx_rehash 来获取最新版本的工作区应用程序。 - Merlijn Sebrechts
1又是一年,Citrix应用程序又有了新的变化。现在你还需要运行sudo ln -s /etc/ssl/certs/* /opt/Citrix/ICAClient/keystore/cacerts,因为它需要以pem格式来提供证书。完成这步操作后,请再次运行rehash函数。 - Merlijn Sebrechts

较新版本的接收器要求您将CRT文件转换为PEM,将crt放置在特定目录中,并运行Citrix实用程序。
如果您的安装位于/opt/Citrix/ICAClient,并假设签名根证书或CA是ca-certificates中的现有证书:
1. 进入证书目录:
cd /usr/share/ca-certificates/mozilla/

2. 将所需的 CRT 转换为 PEM
sudo openssl x509 -outform pem -in [SIGNING_CERTIFICATE_YOU_ID_FROM_COMPANY_WEBSITE.crt] -out [NEW_CERT_PICK_YOUR_NAME.pem]

3.将其链接到Citrix目录并重新计算散列值:
sudo ln -s NEW_CERT /opt/Citrix/ICAClient/keystore/cacerts/
cd /opt/Citrix/ICAClient/util
sudo ./ctx_rehash

如果CA不是在上述提到的/usr/share/ca-certificates/mozilla目录中已知且可信任的CA:
1. 使用浏览器的安全信息在网站上下载它。 2. 将其移动并重新计算哈希值:参考上述第3步。 保留划掉的文字,以供有需要的人参考,但我最近测试发现只需将CRT文件移动到该目录中,重新计算哈希值工具会自动进行所需的转换。

1sudo /opt/Citrix/ICAClient/util/ctx_rehash 这个命令对我起了作用(跳过了使用 sudo openssl ... 进行转换,尽管我的导出文件似乎是 pem 格式的)。 - kidmose
对我来说,pem技巧曾经起过作用(谢谢)。但是重启后就不行了。 我尝试了相同的步骤,没有运气了。 我回退到icaclient 13.4,它就能正常工作。看起来版本大于13.4的都有问题。 - Thomas
不是坏了,而是他们改变了工作方式以更安全地工作。如果第二次还是不行,那么其他原因可能导致?我每天都使用客户端,它运行得很好。只要贵公司不要求使用高于13.4的特定版本,您就可以继续使用它。 - Marlon

一些用户(比如我)可能会发现,即使将Firefox链接到cacerts文件夹后,错误仍然存在。
这似乎是因为Citrix没有提供所有最新的证书。
解决方案似乎是注意到被称为“不受信任”的证书(例如“Verisign Class 3 Public Primary Certification Authority - G5”),然后从Firefox中导出它(在首选项菜单下的证书选项)到*/ICAClient/keystore/cacerts。
对我有效。希望能对你有所帮助。

近在咫尺,却又遥不可及!恐怕对我来说没有喜悦。 - LRE
如果证书是PEM格式,它可以工作;如果不是,请查看我的回答。 - Marlon

有点晚参与讨论,但是发现以下方法适用于版本23.3.0.32。从Peter Smith的回答这里得到的。我在.crt和.pem证书扩展名之间遇到了一些困难,这解决了我的问题。
sudo rm -rfv /opt/Citrix/ICAClient/keystore/cacerts
cd /opt/Citrix/ICAClient/keystore/    
sudo ln -s /etc/ssl/certs cacerts
/opt/Citrix/ICAClient/util/ctx_rehash

搞定了!真是救星,因为我的公司正在将一项重要工作从远程桌面转移到 Citrix。 - IIVQ

我遇到了同样的错误,但是是因为我的FireFox信任的证书问题。所以在复制根CA证书并将其转换为crt文件后,ICA客户端就可以正常运行了。 希望这些信息对你有用。

我遇到了同样的问题,并通过以下方式解决:
  1. 将要信任的证书放置在/usr/local/share/ca-certificates目录下
  2. 执行sudo update-ca-certificates
    你应该看到类似这样的输出:
    1 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d.... Adding debian:SymantecClass3SecureServerCA-G4.pem
  3. 使用谷歌浏览器而不是火狐浏览器