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

如何在Java中使用RSAPublicKey和RSAPrivate ateKey类?

步致远
2023-03-14

我正在尝试使用[JavaJWT]库(https://github.com/auth0/java-jwt)为了生成JWT和我需要生成私钥和公钥的实例,即RSAPrivateKey和RSAPublicKey。

//RSA
RSAPublicKey publicKey = //Get the key instance
RSAPrivateKey privateKey = //Get the key instance
Algorithm algorithmRS = Algorithm.RSA256(publicKey, privateKey);

如何创建rsaprovatekey和RSAPublicKey的实例?

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

共有1个答案

元叶秋
2023-03-14

首先创建密钥对生成器来创建密钥对。

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();
 类似资料:
  • 问题内容: 我试图了解我正在制作的一个小程序的PrintWriter,而且我似乎无法让Java来制作文件然后在上面写。当我执行下面的程序时,它在第9行显示Filenotfoundexeption错误。它也无法在我指定的目录中创建文件。我对此并不陌生,因此请尝试使答案保持简单。我正在使用Eclipse。 问题答案: 如果该目录不存在,则需要创建它。Java不会自己创建它,因为该类只是到一个实体的链接

  • 我能够在Java中使用XSLT1.0,如以下示例所示:- copy.xml copy.xsl copy.java 输出

  • 问题内容: 我曾经使用过JUnit和Mocks,但我想知道,JUnit中的Mocks和Stub之间有什么区别,以及如何在JUnit,Java中使用Stub?作为具有EasyMock,Mockito等的Mocks,Stubs在Java中使用什么? 请提供Java中的存根示例代码。 问题答案: 要在junit中使用存根,您不需要任何框架。 如果您想存根某些接口,只需实现它: 然后创建一个新的存根对象并

  • 我有一个如下所示的Java类(GeoPoint是一个Elasticsearch类型): 我使用的Elasticsearch映射是: 当尝试对其进行索引时,我得到以下异常: org.elasticsearch。ElasticsearchParseException:字段必须为lat/lon或geohash 异常从GeoUtils类的第381行抛出。它发生在映射类中检查双lat和lon字段之后,就像地

  • 问题内容: 使a饱和的最简单方法是什么? 问题答案: 用途: 更新: 确实有一种更简单的方法。您可以使用该类。该类的优点是它提供了一个静态实用程序方法(即),该方法将返回图像的变灰版本。 话虽如此,我认为使实例饱和的最简单方法是:

  • 我有以下三个类:我尝试制作1和2的例程,并使用tjava调用主类和来自1和2的方法,但我无法获取这些方法。 1) 我在Talend中为上面的代码(1)和2)做了例程,然后用tjava调用方法,但是不能这样做。我还尝试对所有的tjava都使用,并且在每个tjava上都做了onSubjob ok。我如何在Talend中调用这些类并调用方法呢?

  • 问题内容: 我有以下类别描述代码段: 该代码在Hibernate 4上不起作用,因为不支持 我从 Joda-Time 看到了有关如何使用 LocalDateTime 的建议,但我使用的是Java 8。 __ 问题答案: 由于Hibernate 4不支持它,因此您需要实现一个如本示例所示的用户类型。 然后,可以在带有@Type批注的映射中使用新的用户类型。例如 @Type批注需要一个实现userTy

  • 问题内容: 我想对英语句子加标签,并进行一些处理。我想使用openNLP。我已经安装了 当我执行命令时 它提供输出POSTagging Text.txt中的输入 我希望它安装正确吗? 现在如何从Java应用程序内部进行此POStagging?我已将openNLPtools,jwnl,maxent jar添加到项目中,但是如何调用POStagging? 问题答案: 这是我放在一起的一些(旧)示例代码