为后端发布 JWT 令牌生成密钥对

为后端发布 JWT 令牌生成密钥对

我需要为后端生成密钥对以发出 JWT 令牌。我使用的是 MacOS。

我在终端上尝试过:

ssh-keygen -t rsa

和 的路径/Users/john.brk/my_rsa

它生成my_rsamy_rsa.pub

当我检查公钥的内容时my_rsa.pub,我注意到公钥最后使用了一个表示我的 MacBook 名称的字符串:

ssh-rsa AAAAB3N.........3iu76d john.brk@JohnsMBP

当我检查私钥时,我注意到有字符串显示OPENSSH PRIVATE KEY

-----BEGIN OPENSSH PRIVATE KEY-----
c2AlonYzaC0rjXktkjEAUAcABG1vamUBAAA
...
-----END OPENSSH PRIVATE KEY-----

我有两个问题:

  1. 对于公钥,我该如何生成以便我的笔记本电脑名称不被使用?

  2. 对于私钥,我如何生成像我们的其他服务密钥一样的密钥

-----BEGIN RSA PRIVATE KEY-----(同样适用于结尾)

代替---BEGING OPENSSH PRIVATE KEY---

答案1

部分答案:

  1. ssh 密钥与 JWT 令牌完全无关。
  2. 您可以使用 ssh 密钥登录到运行后端的机器(如果该机器正在运行 ssh 服务器)
  3. JWT 令牌中使用了许多加密算法。如果你很幸运,你的 JWT 令牌将使用与你创建的 ssh 密钥相同的算法,但使用类似的东西要容易得多小步生成您的 JWT 密钥对。

对于公钥,我该如何生成以便我的笔记本电脑名称不被使用?

您可以使用公钥编辑文件并输入任何您喜欢的内容。但由于这是 ssh 密钥,而不是 JWT 密钥,因此它对您没有帮助。

对于私钥,我如何生成像我们的其他服务密钥一样的密钥

最简单的方法是使用适合该工作的工具(例如smallstep,甚至openssl)。但是,据我所知,ssh 生成的 RSA 密钥使用相同的格式,因此您可以尝试编辑该行。

相关内容