steam反代理在使用steamcommunity302证书失效

在之前的很长一段时间,我使用steamcommunity302进行反代理,steam都能正常访问商店,但是在国庆期间我更新软件和证书之后,出现了不认证书的问题。

我在steamcommunity302的作者帖子下面看到steam是使用$HOME/.pki/nssdb的证书的,我也更新了这里的证书,但是仍然不能正常访问。使用lsof | grep nssdb 看到了输出中,steamwebhelper确实也使用了这个文件夹里的文件。

但是仍然没有解决问题,故而来论坛寻求大佬们的帮助,希望能找到解决问题的办法。

在经过几天的研究,了解了steam内置浏览器是cef。

steamwebhelper 本身就是一个修改过的cef,集成在了steam客户端内

不过奇怪的是,我用cef进行测试是能正常打开对应网页的,而steam并不行,我也用了badssl.com进行测试,发现steam本身也是能正常读取nss数据库内部证书的

挂梯子不更省心吗?

虽然确实,用uudeck也能加速steam,不过在用steamcommunity302了,既然最近出现了这个问题,也就想来研究研究,尝试解决

好,因为我的SteamCommunity302证书过期,刚好生成了一次证书后导入.pki遇到同样的问题,不过我刚好解决了问题,不知道对其他人有没有效

我是手工处理证书文件和caddy服务,而不是直接使用SteamCommunity302提供的可执行程序,不过应该出问题的地方都是在导入证书到.pki的过程

我的几台电脑,包括手动反代和使用SteamCommunity302的设备,只有创建新证书并导入.pki阶段时Steam客户端出现证书问题,所以我猜测是certutil的问题(因为其他不使用.pki并且使用系统证书或者能导入证书的软件正常,比如Firefox在导入302证书后能正常访问Steam),

而且又因为我用的命令都是

certutil -A -d sql:$HOME/.var/app/com.valvesoftware.Steam/.pki/nssdb -n "Steamcommunity302" -t C,, -i "path/to/steamcommunityCA.pem"

(用的Flatpak版Steam所以路径有点区别)

所以猜测可能是Steam无法处理新版本下的certutil (我的是nss 3.118.1)导入的证书

我尝试在distrobox使用debian 13提供的certutillibnss3-tools 2:3.110提供)导入证书到.pki后Steam能正常访问网页,所以有可能使用旧版本的certutil 组件导入证书可以解决问题

另外我在虚拟机(使用SteamCommunity302了几个月,并且能正常访问Steam)里删除.pki中的SteamCommunity302证书,又重新导入证书后,在同一个证书文件的情况下复现出了Invalid SSL Certificate问题,如果确实是新版本certutil的问题的话那下次Steam Deck更新系统刚好这个组件更新到最新的话估计用302的Deck也会出问题了

1 Like

看样子确实,似乎是steam并没有适配新版本的certutil导致出现的问题

另外啊,我在使用pk12util导入badssl.com的证书测试id时候,确定了pk12util导入的证书是能用的,不过我并不会用steamcommunity302的那些证书生成一个合格的.p12证书(尝试过,但是导入了测试还是不行)或许完整的证书,用最新的p12util也能解决这个问题

@红尘渡者 @一般路过糕手 刚才给羽翼城佬评论反馈的时候得到了一个额外的解决方案,在steam叠加页面中的chrome浏览器导入证书,相关步骤在博客的linux使用教程中。

1 Like