Ant*_*ton 5 x509 identityserver3
当使用 IdentityServer 3 时签名证书(用于签名 jwt 令牌)过期会发生什么?
我不清楚,我找不到任何文档,除了可能会收到它已过期的警告。(参考https://identityserver.github.io/Documentation/docsv2/configuration/events.html)
是否有任何机制可以阻止使用过期的签名证书?
当验证由过期证书签名的令牌时,客户端(客户端是使用 IdentityServer 进行身份验证的 Web API)会发生什么?(例如,如果使用 https://github.com/IdentityServer/IdentityServer3.AccessTokenValidation作为中间件。)
好吧,我刚刚测试了这个(在 IdentityServer4 上),它似乎可以继续与过期的签名证书一起愉快地工作,这是我的测试证书的有效性:
我能够登录、获取 ID 令牌和访问令牌,然后使用访问令牌访问 API。然而,IdentityServer 所做的是记录警告:
2017-07-13 12:15:54.871 +02:00 [Warning]
Certificate "CN=test_expired_signing_certificate" has expired on "13/07/2016 14:14:37"
Run Code Online (Sandbox Code Playgroud)
这与 IdentityServer (3) 文档在这里所说的相符:
IdentityServer 在运行时引发许多事件,例如:
剪断...
- 过期/无效/无签名证书
默认情况下,这些事件被转发到配置的日志提供程序 - 自定义事件服务可以以适合环境的任何方式处理或转发它们。
因此,这将是您在为时已晚时检测到它的方法。更好的选择是在密钥有效期内定期滚动签名密钥,这是常见的方法,还允许在必要时撤销受损的密钥。看到这个问题里讨论的过程,基本上IdentityServer可以处理两个key:
[中间件刷新]元数据文档......每天一次。
元数据文档可以保存 2 个密钥 - 主要密钥和辅助密钥,中间件将在存在时加载和使用这两个密钥(JWT 有一个密钥标识符,允许选择正确的密钥标识符)。
当您开始翻转时 - 设置两个键并在某个时刻交换主键和辅助键。
| 归档时间: |
|
| 查看次数: |
1175 次 |
| 最近记录: |