java - 有没有办法在浏览器发送的tomcat过滤器中获取所有x509证书属性?
问题描述
我的要求是使用 x509 客户端证书而不是用户名和密码进行身份验证。我的应用程序中有两种身份验证模式。
- 当地的
- 外部(半径)
我可以通过从 HTTPrequest 获取它来验证其中一个 tomcat 过滤器中的证书,从而在本地模式下验证证书
X509Certificate clientCertChains[] = (X509Certificate[]) request
.getAttribute("javax.servlet.request.X509Certificate");
对于外部身份验证,我需要使用 EAP_TLS 协议将收到的证书发送到外部服务器。为了实现这一点,我需要 apache 提供给定 x509 证书的以下信息。
TLS certificate, ( This is available in httpRequest)
TLS client_key_exchange,
TLS certificate_verify,
TLS change_cipher_spec,
TLS finished
我的实际工作流程如下:
浏览器--> x509certificate-->Tomcat(Spring)-->X509certificate(EAP -TLS)->Radius服务器
当 x509certificate 放置在服务器中时,我可以使用 EAP_TLS 与 Radius 通信。
X509Certificate clientCertChains[] = (X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");
解决方案
推荐阅读
- android - 如何使初始屏幕上的图片在 1 秒后出现
- python - 访问函数中分配的变量
- ios - swift中的iMessage扩展
- elasticsearch - elasticsearch percolator 可以给出单词位置吗?
- python - 熊猫数据框仅返回第一行 JSON 数据?
- mysql - 可变形字段不适用于 Laravel DB::Select() 语句
- excel - 将范围格式化为表格
- python - 循环通过python中的API调用分页
- thingsboard - ThingsBoard 遥测增量计算问题在多个带有时间戳的历史消息中
- node.js - 快递路线仍然返回从 mongodb 中删除的项目