繁体   English   中英

访问当前连接的Akka HTTP客户端证书

[英]Accessing Akka HTTP client certificate for the current connection

我是当前Apache Tomcat用户设计的基于Akka HTTP的替代品,用于使用客户端证书进行身份验证和授权的HTTPS Web服务。 使用Tomcat我习惯于使用servlet请求属性检索客户端X509Certificate

request.getAttribute( “javax.servlet.request.X509Certificate”)

我需要证书在处理程序内为select路由进行一些额外的授权检查。 如何使用Akka HTTP 10.0.x以这种方式检索客户端证书?

您需要通过服务器的配置设置启用带有TLS会话信息的装饰请求:

akka.http.server.parsing.tls-session-info-header = on

然后使用合成头akka.http.scaladsl.model.headers.Tls-Session-Info提取特定请求akka.http.scaladsl.model.headers.Tls-Session-Info如下所示:

headerValueByType[`Tls-Session-Info`]() { sessionInfo =>
  val sslSession = sessionInfo.getSession()
  sslSession.getPeerCertificates
  ... etc ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM