![mTLS 需要什么样的证书(由公共机构签署)?](https://linux22.com/image/789772/mTLS%20%E9%9C%80%E8%A6%81%E4%BB%80%E4%B9%88%E6%A0%B7%E7%9A%84%E8%AF%81%E4%B9%A6%EF%BC%88%E7%94%B1%E5%85%AC%E5%85%B1%E6%9C%BA%E6%9E%84%E7%AD%BE%E7%BD%B2%EF%BC%89%EF%BC%9F.png)
我在虚拟主机中手动创建 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 表明自己的身份以获取证书