0

我希望在我的应用程序中实现基于令牌的身份验证。 我还想实现基于 RSA 的密钥库工具,并使用基于“私有”和“公共”密钥的身份验证来识别客户端。我怎样才能做到这一点 ?(Nimbus JOSE+JWT)Angular Spring MVC

我只需要执行以下步骤:

1) Create a .keystore
2) Generate private.der cert file
3) Generate public.der cert file. 

我知道如何从链接中加载私钥和公钥:从文件中加载 RSA 公钥(来自 JavaHelper 的回答),但我可以继续这样做吗?

4

1 回答 1

0

如果需要从以下链接下载openssl : https ://code.google.com/archive/p/openssl-for-windows/downloads 。下载 .zip 文件并解压到任意位置。转到那个位置,直到在我的情况下它的C:\openssl-0.9.8k_X64\bin.

根据链接:https ://rietta.com/blog/2012/01/27/openssl-generating-rsa-key-from-command/ ,您需要执行以下命令:

您可以像这样生成公共和私有 RSA 密钥对:

openssl genrsa -des3 -out private.pem 2048

这会生成一个 2048 位 RSA 密钥对,使用您提供的密码对其进行加密,然后将它们写入文件。您需要接下来提取公钥文件。例如,您将在您的 Web 服务器上使用它来加密内容,以便只能使用私钥读取。

根据链接:https ://www.openssl.org/docs/manmaster/apps/pkcs8.html和https://superuser.com/questions/606215/openssl-pkcs8-default-format-gives-rsa-private-钥匙

读取 DER 未加密的 PKCS#8 格式私钥:

openssl pkcs8 -topk8 -inform pem -in file.key -outform pem -nocrypt -out file.pem

并创建如下公钥

openssl rsa -in key.pem -pubout -out pubkey.pem

完毕 !!

于 2016-09-03T20:11:13.370 回答