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

从签名密钥的公钥生成jwt的kid

梁丘霖
2023-03-14

鉴于:

  • 由RSACryptoServiceProvider生成的签名密钥。
  • 创建带有孩子的签名jwt的需求。

如果签名密钥来自x509证书,那么我会将kid设置为x5t。在这种情况下,情况并非如此。我可以为孩子编造一些武断的东西,但是如果碰撞不太可能发生,并且孩子和证书之间存在有意义的联系,那就最好了。

我的意图是:-

  1. 创建一个字节数组,通过将模字节附加到指数字节来创建。
  2. SHA256编码数组。
  3. 以SHA256为基础。
  4. 将孩子设置为Base64字符串。

大致如下:

var kid = Base64(SHA256(concat(exp,mod)))

这似乎是一个有效的方法吗?有没有更简单的方法从RSASecurityKey获取指纹?

共有1个答案

屈健柏
2023-03-14

通常,其他协议的密钥ID由模上的哈希(通常为SHA-1)组成。对于密钥对,因此对于公钥和私钥,模数应该是唯一的。它的优点是可以从私钥和公钥中计算,同时对识别任一密钥都很有用。

应使用最小字节数将模数编码为大端无符号整数。

 类似资料:
  • 我想这个问题不是上当,所以我会试着解释一下我的情况。 我正在测试JWT,更具体地说是来自Github的JOSE-JWT lib,但是我遇到了一些麻烦。 我使用PHP和PHPSeclib生成一个私钥-公钥对,并将公钥发送给客户机。一切都是正确的,正如你在那里看到的。我的客户机接收JSON并将其转换为对象,然后使用JSON.NET将其提取为字符串。 还有弹力城堡: 例外情况: CreateToken方

  • 我以这种格式将私钥保存在DB中。 我需要从中提取公钥。openssl\u pkey\u get\u详细信息需要资源,但如何从字符串创建资源? 我试过这个 错误是openssl\u pkey\u get\u details()期望参数1是资源,给定布尔值 编辑1: 我试图从@kbarborak bellow获得解决方案,但$pk\u get是错误的: var_转储的输出为:

  • 假设我将以下JWK作为一些JWS(RFC7515)的反序列化体,其中出于显示目的,部分省略了模数n JWS头指定签名验证所需的alg和kid字段。 如何从这个构造RSA公钥以便验证签名?在研究了一些相关问题之后,我有以下Java实现,它尝试从中的和字段构建RSA公钥 验证()的结果当前正在返回false。 我尝试过生成RSA密钥对,使用生成密钥进行签名和验证,这很有效。我怀疑我的问题是,上面代码中

  • 我正在尝试创建一个公钥以允许我推送到Git,但我的. ssh文件夹尚未创建。 以下是我运行的命令: $ssh-keygen-t rsa-Cemaill@me.com 生成公共/私有rsa密钥对 输入保存密钥的文件(/h/.ssh/id\u rsa): 这就是H:驱动器配置、数据、配置文件、配置文件中的全部内容。V2 我认为有一个问题,因为当我得到提示输入文件,其中保存密钥(/h//. ssh/id

  • 我正在Erlang中创建一个应用程序,给定一个RSA私钥,它可以返回RSA公钥和与该priv密钥相关联的x509公钥。 ----只是一个更新---- 在花了一些时间了解x509并阅读了Erlang public_key文档后,我找到了一个解决方案: 如果我可以通过简单地获取模数和publicExponent,从“RSaprivateKey”生成“RSapublicKey”,那么生成这两个键的代码如

  • 本文向大家介绍Android 获取签名公钥和公钥私钥加解密的方法(推荐),包括了Android 获取签名公钥和公钥私钥加解密的方法(推荐)的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇Android 获取签名公钥和公钥私钥加解密的方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。