当前位置: 首页 > 知识库问答 >
问题:

KeyClope是否在其JWKendpoint中支持x5*参数?

李烨烁
2023-03-14

我使用KeyCloak作为我的身份和访问管理器。

我有一个用例,我需要将敏感信息传输到另一个受信任的方。流程是这样的:

  • 我通过受信任方的JWKendpoint检索该方的公钥
  • 我使用受信任方的公钥加密敏感数据
  • 然后我给自己发了一个JWT令牌。我用我的私钥签名
  • 接下来,我将数据与授权头中的JWT令牌一起传输到受信任方
  • 受信任方收到我的请求
  • 受信任方调用我的JWKendpoint以获取我的公钥
  • 受信任方使用我的公钥验证我发送的JWT令牌
  • 然后,受信任方使用其私钥解密敏感数据

通过此流程,受信任方可以确信

  • 敏感数据在运输途中未被篡改

他们无法确信的是:

  • 我就是他们认为的我;我是发送数据的人

他们唯一知道的是,他们在我这边呼叫的endpoint看起来属于我的公司。但是,如果对手拦截请求的方式使其返回自己的公钥并能够发布自己的令牌(由私钥签名),那么他们可以将想要的任何数据传输给受信任方。

这就是x.509证书的用武之地。受信任的一方需要一种方法来确保另一端的一方是我。

KeyClope在5.0中似乎支持x5c(证书链)。0-4天前的快照;这是通过添加/生成新的公钥/私钥对和证书来配置的。如果配置了证书,则可通过JWKSendpoint使用x5c参数。

但是,我还需要提供一个x5t(指纹)参数。Key斗篷是否提供或打算在未来提供任何支持?

共有1个答案

平和雅
2023-03-14

我创建并提出了KEYCLOAK-9868的拉请求,以添加x5tx5t#S256JWK参数。这已经被合并到KeyCloak主,应该可以在5.0.0之后的下一个版本中使用。

 类似资料:
  • 问题内容: 我遇到了一些具有以下结构的Java代码: 我知道在C ++中,我可以为参数分配一个默认值。例如: Java是否支持这种语法?有什么理由使两步语法更可取? 问题答案: 我遇到了一些具有以下结构的Java代码: 我知道在C ++中,我可以为参数分配一个默认值。例如: Java是否支持这种语法?有什么理由使两步语法更可取?

  • 根据 Java 教程,Double Wrapper 类支持 String 和 Double 作为参数。 但是我可以使用浮点参数。检查下面的代码。有人能澄清一下吗? 类测试 { } 10.5 10.5

  • 问题内容: 如果我有参数,那么我的程序只需使用函数中的一个即可。有没有一种方法可以组合起来,以便程序仅接受或? 编辑: 添加一个简单的程序以更清楚: 然后只能被调用。是否可以将argparse组排除在组之外,以便仅被调用? 问题答案: 编辑 :没关系。因为调用时必须创建一个选项,这是一个可怕的选择。那不是我的设计选择。如果您迫切需要此功能,可以尝试使用ConflictsOptionParser来实

  • google sheet API(https://developers.google.com/sheets/api/reference/rest/v4/ValueInputOption)提到ValueInputOption是强制性的。我正在尝试使用Apache camel的google sheet组件编写google sheet。 我得到: 组织。阿帕奇。骆驼ResolveEndpointFail

  • 问题内容: 因此,我希望将其转换为这样的Java代码: JAXB是否可能? 曾经看到一些WebService Client存根生成器正在执行此操作,但也许不确定axis2 Webservice。 问题答案: 的 JAXB(JSR-222) 规范没有盖产生快速失败逻辑到域模型。现在,一种常见的做法是以注释(或XML)的形式表示验证规则,并对它们进行验证。 Bean验证(JSR-303) 对此进行了标

  • 问题内容: 我正在尝试执行一个简单的INSERT并返回标识(自动递增主键)。我试过了 我收到以下错误 SQLite是否支持SCOPE_IDENTITY? 如果可以,该如何使用? 如果不是,我(最好是“线程安全”)的替代方案是什么? 问题答案: 查看常见问题解答。该sqlite3_last_insert_rowid()函数将做到这一点。不过要小心触发器。