gpt4 book ai didi

java - 如何在 Java 中使用 token 和公钥验证 JWT 签名

转载 作者:搜寻专家 更新时间:2023-11-01 03:17:15 24 4
gpt4 key购买 nike

我有一个字符串形式的 token ,我下载了公共(public)证书并从中创建了一个公共(public) key ,如下所示。

但我不确定如何使用这么多信息进行验证。

我找到了适用于 C# 和 .NET 的解决方案,但没有找到适用于 Java 的解决方案。请注意,我没有 jks 文件或私钥。

    FileInputStream fin = new FileInputStream("d://public.crt");
CertificateFactory f = CertificateFactory.getInstance("X.509");
X509Certificate certificate = (X509Certificate)f.generateCertificate(fin);
PublicKey pk = certificate.getPublicKey();

最佳答案

使用 Auth0 库 (com.auth0:java-jwt) 在 Java 中验证 JWT:

  1. 检索 key 已签名的算法,例如:

    // Load your public key from a file
    final PublicKey ecdsa256PublicKey = getPublicKey(...);
    final Algorithm algorithm = Algorithm.ECDSA256((ECPublicKey) ecdsa256PublicKey, null);
  2. 使用相应的算法验证其签名:

    final DecodedJWT decodedJWT = JWT.decode("J.W.T[...]");
    // Will throw a SignatureVerificationException if the token's signature is invalid
    algorithm.verify(decodedJWT);

关于java - 如何在 Java 中使用 token 和公钥验证 JWT 签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45414981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com