Slack是否支持双向加密?

问题描述

我想弄清楚Slack是否支持双向加密?我在他们的文档中找不到任何内容。然后,如果有的话,有没有办法提供我们的证书信息供他们验证,还是必须使用众所周知的CA。

为了澄清,我知道Slack支持两种类型的请求的一种加密方式:

  • 我到懈怠
  • 对我来说懈怠:/ command或Events API

我想知道Slack是否对其API支持双向加密。这意味着:

  • 对于Slack的请求(通过Web挂钩推送数据),Slack会验证我客户的证书。如果Slack可以做到这一点,它必须是已知的CA还是可以导入我自己的根证书进行验证?
  • 对于来自Slack(Events API)的请求,Slack需要提供证书。

解决方法

Slack支持通过TLS进行双向身份验证。为此,您的服务器需要接受DigiCert Global Root CA及其中间产品的证书,并且仅接受SAN type CandyMan struct { SOAPEnvelope Body struct { Candy Candy `xml:"Candy"` } `xml:"Body"` }

您可以在此处找到Slack文档:https://api.slack.com/authentication/verifying-requests-from-slack#mutual_tls

对于进入https://slack.com/api的常规api请求,它们不支持双向身份验证。这很可能是因为这意味着他们将向所有用户执行客户端证书请求,并且许多库对此都会做奇怪的事情(即使这是可选请求)。他们也许可以创建需要证书的别名,例如https://platform-tls-server.slack.com

下一个问题是创建一个客户端可以在Slack上注册证书的系统,以便它可以将合适的用户(应用程序/集成)与其相关联。同样,这并非不可能,但需要对其管理方式进行一些不重要的改变。