服务安全认证与授权:TLS 与 ACL 实现
1. 基于相互 TLS 的客户端认证
在之前的操作中,我们使用 TLS 对连接进行加密并对服务器进行认证。现在,我们将更进一步,实现相互 TLS 认证(也称为双向认证),让服务器使用我们的 CA 来验证客户端的真实性。
1.1 生成客户端证书
首先,我们需要为客户端生成一个证书。可以使用 cfssl 和 cfssljson 来完成,就像生成 CA 和服务器证书一样。将以下 JSON 内容保存到测试目录下的 client-csr.json 文件中:
{
"CN": "client",
"hosts": [ "" ],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CA",
"L": "ON",
"ST": "Toronto",
"O": "My Company",
"OU": "Distributed Services"
}
]
}
CN 字段是重要的配置,它代表客户端的身份,在某种意义上类似于用户名。我们将基于这个身份来存储客户端的权限,以便进行授权(后续会详细介绍)。
接下来,更
超级会员免费看
订阅专栏 解锁全文
3647

被折叠的 条评论
为什么被折叠?



