给定公共密钥字符串,如何创建RSAPublicKey的实例

时间:2019-03-01 17:14:45

标签: java jwt

我有一个像这样的实际公钥字符串:

-----BEGIN PUBLIC KEY-----
flajeleofancncMFLDFJOEEFJC9209ueq33rlsjfa3B ...
-----END PUBLIC KEY-----

要创建一个auth0/java-jwtAlgorithm来签名我的JWT,我需要一个java.security.interfaces.RSAPublicKey实现实例。给定公钥字符串,我将如何创建该实例?如果有帮助,我也有私钥字符串。 我才刚开始。因此,我愿意采用更简单的方式来签署我的JWT。

1 个答案:

答案 0 :(得分:1)

import java.security.KeyFactory;
import java.security.spec.X509EncodedKeySpec;
import java.security.KeyFactory;
import java.security.PublicKey;
import java.security.spec.EncodedKeySpec;
import java.security.interfaces.RSAPrivateKey;

...

String algorithm = "RSA" // for example
KeyFactory kf = KeyFactory.getInstance(algorithm);
String publicKeyStr = "-----BEGIN PUBLIC KEY-----f24Defosfvak-----END PUBLIC KEY-----"
EncodedKeySpec keySpec = new X509EncodedKeySpec(publicKeyStr.getBytes());
RSAPublicKey publicKey = kf.generatePublic(keySpec);