- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经使用 Python's SSL module 在客户端和服务器之间建立了一个简单的 TLS 1.2 session (在引擎盖下运行 LibreSSL 2.2.7)并且想知道 session 票证是否会自动轮换。
看起来服务器正在向客户端提示 session 票证只能在 300 秒内有效(Session Ticket Lifetime Hint: 300 seconds
)
但是已经快一个小时了,并没有像我预期的那样发出新的 session 票。同时我在双方之间交换了一些应用程序数据,但似乎没有触发任何东西。
根据 RFC 4507我了解 300 秒提示并非必须严格遵守
The ticket_lifetime_hint field contains a hint from the serverabout how long the ticket should be stored. The value indicatesthe lifetime in seconds as a 32-bit unsigned integer in networkbyte order. A value of zero is reserved to indicate that thelifetime of the ticket is unspecified. A client SHOULD delete theticket and associated state when the time expires. It MAY deletethe ticket earlier based on local policy. A server MAY treat aticket as valid for a shorter or longer period of time than what isstated in the ticket_lifetime_hint.
但是我怎么知道票据轮换是否正在发生?如何查看我的客户在轮换票证之前等待了多长时间?
最佳答案
session 票证是服务器在握手时给出的。要启动握手,您必须从带有空票证的新连接开始(例如,通过使用 HTTP keep alives),或者在已建立的连接中强制重新握手。不幸的是,保持连接打开很长时间并等待看到任何事情发生,比如票据更新不太可能发生。
如果你想用新连接重新启动,要么对你的客户端进行编程以不时关闭和重新打开新连接,要么在服务器端尝试 HTTP Keep-Alive header ,它应该通知客户端它应该如何表现。不幸的是,我们不确定此 header 行为,因为我们知道此 header 存在于 RFC 2068 中。 , 但其用法在 RFC draft 中有所描述现在已经过期了。使用示例:
Keep-Alive: timeout=300
如果您有权访问低级 API,则可以进行 SSL 重新握手。然后服务器可以发送 HelloRequest强制客户端开始重新握手,此时如果之前的票被认为已过期,它应该要求一张新票。
在这两种情况下,您都应该通过网络捕获来确认它的行为是否符合预期。如果您不使用低级语言进行编码,则可能无法看到任何内容(例如 Java 允许对重新握手进行编码,但我不确定对整个服务器进行编码是否值得)。
关于python - 如何确保轮换 TLS session 票证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48451291/
理想情况下,Logback 可以选择在应用程序启动时始终轮换。由于该功能不存在,我如何强制 logback 在应用程序启动时旋转?由于其供应商代码,我将不得不编写自己的程序 RotateLB.java
我很想知道,当Activity旋转时,ViewModel如何生存,因为它被销毁并再次创建。从逻辑上看,如果负责创建ViewModel的 Activity 被销毁,则ViewModel被销毁。而且,当我
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
我是 JavaScript(和编程)新手,正在努力解决如何在 HTML5 Canvas 中添加旋转的问题。我基本上是试图让一个 JavaScript 对象围绕另一个对象旋转。就我而言,我需要让一颗行星
Azure Storage sample code key 轮换演示了如何使用多个唯一命名的 Secret。但是,在 KeyVault 中,现在可以创建单个 Secret 的多个版本。我看不出为什么不
我试图让选择器在不同的时间轮换,我想我会尝试一个简单的 if/else 语句,让第一个选择器在 3 秒后轮换,接下来的选择器在 30 秒后轮换。然而,它只是每三秒旋转一次。如果我想出了如何完成这项工作
我在显示天气数据(图像、温度和天气描述)的 fragment 中有一个 ListView 。我从 here 获取数据 当我旋转模拟器时,虽然我遇到了崩溃。:(。这是我的代码。我使用 setRetain
如果我对refresh token rotation的理解是对的,那就意味着每次我们请求一个新的access token的时候,我们也会得到一个新的refresh token。如果多次使用刷新 tok
我是这个访问 token 和刷新 token 的新手,如果有任何地方有误,请指正。据我所知,刷新 token 轮换意味着每次用户请求 AT(具有有效 RT)时,都会提供新的 AT1 和 RT1 对。所
在使用 OIDC 服务器进行身份验证的单页应用程序 (JavaScript) 的上下文中,保持 session 事件(在过期后获得更多 token )的标准和推荐方法是使用 HttpOnly Cook
Azure 在此处提供 jwt token 的公钥: https://login.microsoftonline.com/common/discovery/v2.0/keys 这些键是否被轮换和替换?
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
我正在尝试为 GCP 服务帐户实现 key 轮换。我已成功创建一个新 key ,然后解码采用 Base64 编码的 privateKeyData,其中包含实际的 SA JSON 文件。现在,当我读回文
来自encryption at rest design document in Github ,只有 Universe Keys 被轮换,而数据 key 在数据文件的生命周期内保持不变。 然而,Yug
我有一个带 mariadb-10.0.21 的 fedora23 安装,它已经运行了大约一个月,并且有几十个格式为 hostname-relay-bin.00005、hostname-relay-bi
我的应用程序在 apache tomcat 上运行。我想为 apache 创建的日志配置 logrotate。 我的logrotate配置如下: /var/company/apache-tomcat/
我使用以下命令启动 mesos 主容器: ExecStart=/usr/bin/docker run --rm \ -e MESOS_HOSTNAME={{ ansible_hostname
有一个带有自定义 SecurityManager 的 Flask-Appbuilder 应用程序,用于查找从浏览器获取的用户 token 。我们在应用程序启动时获取客户端凭据。在凭证轮换之前它都可以正
我有以下要求。 通过 terraform 轮换存储帐户访问 key (primary_access_key 和 secondary_access_key)。 将新生成的 key 作为新版本添加到在 k
我正在尝试构建一个跨浏览器矢量应用程序,为此我对 IE7 和 IE8 使用 VML 而不是 SVG。 我正在尝试弄清楚如何旋转 VML 组元素,并让它在纯 VML 中工作,但是一旦我合并 Raphae
我是一名优秀的程序员,十分优秀!