java利用der文件生成JWT token

maven:

<!-- https://mvnrepository.com/artifact/com.auth0/java-jwt -->
<dependency>
    <groupId>com.auth0</groupId>
    <artifactId>java-jwt</artifactId>
    <version>3.9.0</version>
</dependency>

java 代码:

private static String getSignedJwt() throws Exception{
    String rootPath = "src/main/resources/static/";
    String privatePath = rootPath+"private_key.der";
    RSAPrivateKey privateKey = (RSAPrivateKey) PrivateKeyReader.get(privatePath);
    String publicPath = rootPath+"public_key.der";
    RSAPrivateKey publicKey = (RSAPrivateKey) PrivateKeyReader.get(publicPath);
    String kid = new String(Files.readAllBytes(Paths.get(rootPath + "uuid.txt")));
    String clientToken = new String(Files.readAllBytes(Paths.get(rootPath +             
    "token.txt"));
    String aud = "https://test.my.com/token/auth ";
    long exp = System.currentTimeMillis()/1000L + 300;
    String jti = UUID .randomUUID().tostring();
    String signed_jwt="";
    String iat = System.currentTimeMillis()+"";
    try{
        Algorithm algorithm = Algorithm.RSA384(publicKey,privateKey);
        signed_key=JWT.create().withHeader(new JwtHeaderBuilder(kid).getHeader())
          .withClaim("iss",clientToken).withClaim("sub",clientToken)
          .withClaim("aud",aud).withClaim("exp",exp)
          .withClaim("iat",iat).withClaim("jti",jti)
          .sigh(algorithm);
    }catch(Exception e){
        System.out.println(e.getMessage());
        throw e;
    }
    return signed_jwt;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值