0

使用JWT Java 库并使用RS256算法生成令牌时,我总是使用jwt.io调试器得到无效签名。这是我的示例代码,我试图从我当前的项目开始尽可能简单:

    // Create a legitimate RSA public and private key pair:
    KeyPair kp = RsaProvider.generateKeyPair();
    PublicKey publicKey = kp.getPublic();
    PrivateKey privateKey = kp.getPrivate();

    String jwt = Jwts.builder().setSubject("Joe").signWith(SignatureAlgorithm.RS256, privateKey).compact();

这段代码的灵感来自这里的测试类。

知道我可能会错过什么吗?

4

1 回答 1

1

jwt.io调试器希望您提供与用于签署以公钥文件 (PKCS#8) 格式编码的令牌的私钥关联的公钥。

确保您使用该格式指定它,示例如下:

-----BEGIN PUBLIC KEY-----
BASE64 DATA
-----END PUBLIC KEY-----
于 2016-11-07T11:27:46.723 回答