我正在尝试设置一个web服务,它使用在TLS握手过程中发送的x509客户端证书进行身份验证,并检查用户是否具有访问请求的重新源的自动化。
这样做的想法是,每个用户都有一个访问级别,一些资源只能提供给更高级别的用户。然后,证书将用于将用户与其级别匹配。
配置Apache以根据根CA验证证书并将证书转发给后端应用程序(基于python的XML服务器)没有问题。
但是,我很难选择用于将用户映射到其级别的证书的哪个属性:
我目前倾向于使用公钥,但在这种情况下,这是否最好的选择?还是有更好的选择?
感谢报仇
发布于 2019-03-03 15:33:55
通常,使用客户端证书的身份验证是通过一些私有CA完成的,该CA颁发客户端证书,在验证客户端证书时只信任CA。在这种情况下,受信任的CA和只有此CA才能完全控制证书的主题,这意味着将CN映射到用户是非常好的,而且也是常用的。
如果您出于任何原因希望允许由任意CA颁发的证书,那么这种简单的映射就无法完成,因为您已经意识到了这一点。在这种情况下,可以执行证书公开密钥或证书指纹之间的映射,这当然要求预先知道特定用户需要的确切证书。而且,每当客户端证书由于过期而需要更改时,就需要以某种方式更新此映射。
https://stackoverflow.com/questions/54968859
复制相似问题