import java.nio.file.*;import java.security.*;import java.security.cert.*;import java.util.*;import org.jose4j.jwk.*;import org.jose4j.keys.resolvers.*;import org.jose4j.jwt.consumer.*;
public class JoseConfusionTest{public static void main(String[]a)throws Exception{CertificateFactory f=CertificateFactory.getInstance("X.509");X509Certificate c=(X509Certificate)f.generateCertificate(Files.newInputStream(Path.of(a[0])));PublicJsonWebKey j=(PublicJsonWebKey)JsonWebKey.Factory.newJwk(c.getPublicKey());j.setKeyId(c.getSerialNumber().toString());JwtConsumer x=new JwtConsumerBuilder().setRequireExpirationTime().setVerificationKeyResolver(new JwksVerificationKeyResolver(List.of(j))).build();String t=Files.readString(Path.of(a[1]));try{System.out.println(x.processToClaims(t));}catch(Exception e){e.printStackTrace();}}}
