如何在Java中使用RSAPublicKey和RSAPrivateKey类?

如何在Java中使用RSAPublicKey和RSAPrivateKey类?,java,jwt,rsa,Java,Jwt,Rsa,我正在尝试使用[Java JWT]library()生成JWT,我需要生成私钥和公钥的实例,即RSAPrivateKey和RSAPublicKey //RSA RSAPublicKey publicKey = //Get the key instance RSAPrivateKey privateKey = //Get the key instance Algorithm algorithmRS = Algorithm.RSA256(publicKey, privateKey); 如何创建rs

我正在尝试使用[Java JWT]library()生成JWT,我需要生成私钥和公钥的实例,即RSAPrivateKey和RSAPublicKey

//RSA
RSAPublicKey publicKey = //Get the key instance
RSAPrivateKey privateKey = //Get the key instance
Algorithm algorithmRS = Algorithm.RSA256(publicKey, privateKey);
如何创建rsaprovatekey和RSAPublicKey的实例


我已经使用OpenSSL创建了.pem文件(如果有帮助的话),但是我不能使用它。

首先创建KeyPairGenerator来创建密钥对

KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
这将为您提供一个使用RSA的KeyPairGenerator。接下来,使用希望使用的字节数初始化生成器,然后创建密钥对

kpg.initialize(1024);
KeyPair kp = kpg.generateKeyPair();
使用密钥对kp的getter和than从密钥对kp获取公钥和私钥,因为RsaPublicKey只是Key的一个子类,我们使用RSA制作了这些密钥,所以我们可以安全地将公钥和私钥类强制转换为RsaPublicKey和rsapprivatekey

RSAPublicKey rPubKey = (RSAPublicKey) kp.getPublic();
RSAPrivateKey rPriKey = (RSAPrivateKey) kp.getPrivate();

您需要生成一个密钥对,以便PrivateKey可以用于解码公钥。查看这个链接@FattySalami您提供的链接提供了一个方法来生成类PublicKey和PrivateKey的实例,但是我需要类RSAPublicKey和RSAPrivateKey的实例。请注意。如果您提供一个代码片段或一些解释,这将非常有用。谢谢。该代码生成了一个新的密钥对。如果要使用现有密钥对,只需从密钥库(更快)或pem文件加载即可