我需要对我正在开发的 python Flask 服务器启用 PIV 身份验证。 在网上搜索后,我没有找到任何这样的例子。
设置如下: 我们在每台计算机上安装了 Yubico Yubikeys 5、OpenSC,我们可以使用 Firefox,它可以通过 PKCS11 访问密钥。
我希望用户从 python 服务器在浏览器上加载页面,并提示输入密码/按键。
我需要做什么才能触发 yubikey 的登录过程?如何找回证书?在返回登录页面或特殊参数之前,我必须在 python 中做些什么吗?或者这是我必须在 JS 中做的事情?
Python Flask 服务器目前有一个使用经典的用户名/密码登录方法的登录页面。它与域的 AD 通信。
实现此目的的一种方法是通过 Apache 等 Web 服务器运行 Python 应用程序,并使用 mod_ssl 使用 YubiKey 上的证书通过客户端身份验证终止 TLS 连接。请参阅https://httpd.apache.org/docs/2.4/mod/mod_ssl.html
可以使用环境变量 (SSL_CLIENT_CERT) 从 Python 应用程序读取客户端证书。