dromara / hutool

🍬A set of tools that keep Java sweet.
https://hutool.cn
Other
29.16k stars 7.51k forks source link

jwt公钥签名报错 #2597

Closed ghost closed 2 years ago

ghost commented 2 years ago

版本情况

JDK版本: openjdk_8_201 hutool版本: 5.8.5

问题描述(包括截图)

在生成jwt的token时,使用公钥签名出现报错InvalidKeyException: Key must not be null,使用私钥签名时可以正常解析的,建议下一个版本能够支持公钥签名

复现代码

public static String token2() {
        // 算法ID,定义在AlgorithmUtil类型的map集合中
        String id = "rs256";
        // 生成密钥对
        KeyPair rsa256 = KeyUtil.generateKeyPair(AlgorithmUtil.getAlgorithm(id));
        JWTSigner signer = JWTSignerUtil.createSigner(id, rsa256.getPublic());
        return JWT.create()
                .setPayload("sub", "1234567890")
                .setSigner(signer)
                .sign();
}

image

looly commented 2 years ago

公钥还能签名?只有私钥才能签名吧。

image