发布OAuth2.0证书要使用多长时间?

问题描述 投票:0回答:1

[当前,我正在编写服务器端功能来验证GCP元数据服务器提供的JWT(有关详细信息,请参见https://cloud.google.com/compute/docs/instances/verifying-instance-identity)。

在我的第一个(肮脏的)实现中,对于每个传入请求,我都从https://www.googleapis.com/oauth2/v1/certs中提取了Google的证书。这就像一种魅力,但并没有真正扩展。所以我想缓存证书。

一种方法是创建一个缓存,该缓存存储与kid对应的证书。但是,这允许攻击者通过发送带有随机kid的错误JWT来让服务器向Google服务器发出许多请求。

因此,我宁愿存储来自证书端点的完整响应。但是,要使此方法起作用,我需要知道证书使用前要发布多长时间。

我在RFC或GCP文档中都找不到关于此RFC的任何信息。有人知道这是否在某处指定吗?

google-cloud-platform google-oauth2
1个回答
0
投票

我向GCP支持人员提出了这个问题,他们回来了以下内容:

我们无法提供有关证书轮换的任何保证。密钥可能会旋转,并且其他有效证书可能会显示在最大年龄内。如果服务器收到带有未知孩子的令牌,则服务器应再次拉[1]刷新证书缓存。

  1. https://www.googleapis.com/oauth2/v1/certs

总结一下:仅可以缓存单个键,而不能缓存完整的结果。任何缓存未命中应始终在Google的端点处重新检查。

© www.soinside.com 2019 - 2024. All rights reserved.