我希望在我的(Nimbus JOSE+JWT)
应用中实施基于令牌的身份验证 Angular Spring MVC
。我还想实现基于RSA的密钥库工具,并使用“私有”和“公共”密钥进行身份验证来识别客户端。我怎么能这样做?
我只需要执行以下步骤:
1) Create a .keystore
2) Generate private.der cert file
3) Generate public.der cert file.
我知道如何从链接加载私钥和公钥:Load RSA public key from file(来自JavaHelper的答案),但我可以继续吗?
答案 0 :(得分:0)
如果需要从链接https://code.google.com/archive/p/openssl-for-windows/downloads下载 openssl 。下载.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-key
读取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
完成!!