gpt4 book ai didi

perl - 如何使用 Dancer/Starman 或 Mojolicious/Daemon 验证 https 客户端证书?

转载 作者:太空宇宙 更新时间:2023-11-03 13:13:57 25 4
gpt4 key购买 nike

我正在尝试使用 Perl Dancer 框架使用 HTTPS 客户端证书执行身份验证。我想接受带/不带证书发送的请求,并对证书 CN 进行验证以继续进行有效响应(https://medium.com/@sevcsik/authentication-using-https-client-certificates-3c9d270e8326,链接显示了如何在 node.js 中执行此操作,需要与 perl Dancer/Starman/Plackup 非常相似的东西)

我已经使用 Dancer/Plackup 设置了 ssl,但还没有找到一种方法来获取有关对等证书的详细信息以在 Dancer 框架中执行验证

我想实现以下目标:

如果发送请求

没有证书=> 401

有证书但客户端有自签名(CN 与服务器证书 CN 不匹配)=> 401

有证书但客户端证书已使用服务器证书签名(CN 匹配服务器证书 CN)=> 200

最佳答案

在 Dancer 中,您可以使用 request->env->{'psgix.io'} 获取 IO::Socket::SSL 对象,但这对您没有帮助,因为您没有机会将其配置为客户端验证。 IO::Socket::SSL::set_defaults 也没有足够早地运行。

这意味着最好设置Apache httpdnginx终止 TLS。在环境变量中将您需要的证书信息(例如客户端验证结果)传递给 Dancer 应用程序。

关于perl - 如何使用 Dancer/Starman 或 Mojolicious/Daemon 验证 https 客户端证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56321938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com