目前我们有一个 sFTP,但证书只是自签名的。我们现在需要使用有效的商业证书。
请帮我解答一下需要购买什么类型的证书以及验证证书的基本原理是什么?
使用的协议:基于 SSH2 的 SFTP 仅在端口 22 上
答案1
没有任何。
如你所说,SFTP 基于 SSH2。它与 FTPS(基于 TLS 的 FTP)不同,并且不以任何方式使用 X.509 证书。SSH2 中的服务器身份验证主要基于“信任第一的使用”,因此密钥根本没有签名。但是,自签名证书的许多问题并不适用。
唯一接近的就是 OpenSSH 证书,它不进行商业销售——它们明确供内部使用,每个站点都会创建自己的 CA。此外,只有 OpenSSH 支持它们,其他 SFTP 客户端仅使用基本密钥或 Kerberos。
话虽如此,如果你是使用 FTPS它的工作方式与 Web 浏览器中的 TLS(HTTPS)完全相同 - 它将使用相同的“TLS 服务器”证书类型和完全相同的验证方法(预加载的“根权限”列表)。
唯一的区别是 EV 通常不是受外部网络浏览器支持,因此常规组织或域验证的证书就可以了。
最后,也有一些例外。(就像有些程序员可以用任何语言编写 Fortran 一样,有些系统管理员设法将 X.509 放在任何地方。)
美国政府喜欢使用 CAC 卡来做所有事情,甚至在 SSH 中也加入了 X.509 PKI 支持。但如果那是你的情况,我想你会给定已经有正确的证书,而不必向超级用户询问。
同样地,各种分布式研究计算网格还有一个使用 X.509 PKI 的 SSH 补丁 (GSI-SSH)。它们使用与主 OS/Web 浏览器列表不同的根权限列表;它有一些商业 CA,还有一些由网格自己运行。它们还使用与常规“TLS 服务器”证书略有不同的证书——称为“网格服务器”在商业 CA 中。
话虽如此,我认为这里没有任何例外。最有可能的是,写下你要求的人根本不知道 SFTP 和 FTPS 的区别。