【问题标题】:Is it possible to determine the SSL/TLS version of a Perl Mason Request?是否可以确定 Perl Mason 请求的 SSL/TLS 版本?
【发布时间】:2018-06-21 18:05:52
【问题描述】:

有没有办法检索用于 Perl Mason 请求的 TLS 版本?

【问题讨论】:

  • 您所说的请求是由 Mason 应用程序发送还是接收?
  • 已收到。在这种情况下,Perl Mason 是一个网络服务器,并且想知道浏览器在请求中使用的 TLS 版本。

标签: perl ssl https mason


【解决方案1】:

$m->req->{env}{'psgix.io'}->get_sslversion

【讨论】:

  • 谢谢!但是search.cpan.org/~miyagawa/PSGI-1.102/PSGI/Extensions.pod"psgix.io:访问客户端连接以进行低级套接字操作的原始IO套接字。这仅在作为HTTP服务器运行的PSGI服务器中可用,并且应该在(且仅当)时使用你想越狱 PSGI 抽象,通过 HTTP 实现协议,例如 BOSH 或 WebSocket。”似乎我们无法访问 Perl/Mason 线程中的套接字连接。
  • 无法访问和拒绝访问是两件事。
  • 我对 Mason 不熟悉,但从参考文档看来 $m->req->{env}{'psgix.io'} 是套接字对象,即在这种情况下是 IO::Socket::SSL 对象。但是{*sslsock}{_SSL_arguments}{SSL_version} 没有给出当前套接字的 SSL 版本。相反,它给出了用于创建套接字的SSL_version 参数,即类似于SSLv23:!SSLv3 的东西。此外,访问IO::Socket::SSL 的未记录内部部分也不是很好:)。无论如何,要获得套接字实际使用的协议版本,请使用$sslsock->get_sslversion
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-21
  • 2019-08-03
  • 1970-01-01
  • 1970-01-01
  • 2020-11-03
相关资源
最近更新 更多