mTLS 需要什么样的证书(由公共机构签署)?

mTLS 需要什么样的证书(由公共机构签署)?

我在虚拟主机中手动创建 CA 证书,并使用 mTLS 设置了 nginx。对于 SSL,我们使用 Let's encrypt。

ssl_client_certificate /etc/ssl/ca.crt;
ssl_verify_client on;

我能够通过带--cert && --key参数的 curl 连接到此服务器。一切正常。

问题是因为我们应该使用由经过验证的机构签署的(审计!)证书。我们需要什么样的证书才能开始?有很多选择,例如 godaddy/comodo .. 聊天 GPT 提到了,client certificate但我在网上找不到任何有用的东西。我正在设置暂存环境 - 我正在寻找便宜的解决方案(不是超级安全的选项)。

我尝试通过 let's encrypt 创建“客户端证书”(我创建了另一个 NS 记录,然后下载了私钥/公钥)。我希望能够通过ssl_client_certificate选项使用公钥。但没有成功。

为了运行 mTLS,我需要 SSL 加密 + mTLS 附加证书,对吗?

答案1

这些选项取决于您想要使用客户端证书对哪些客户端进行身份验证:

  • 如果这是为单个用户(即您自己)提供额外的网站保护,只需使用在 nginx 中配置为受信任的自签名证书即可
  • 如果您想区分自己公司中的不同员工、第三方服务提供商或类似机构,您可以运行自己的公司 CA 来颁发和管理这些证书。
  • 如果您希望接受由受信任方以某种方式验证身份的外部用户,则应将此受信任方设置为 nginx 中接受的证书颁发机构,并要求用户向此 CA 表明自己的身份以获取证书

相关内容