I'm given a url - jwks_uri= https://xxxxx/oauth/nam/keys
... which produces this json:
{
"keys": [{
"kty": "RSA",
"use": "sig",
"alg": "RS256",
"kid": "233921010515334582428573459295448396160651486998",
"x5c": ["MIIFQjCCBCqgAwIBAgIUKPlhgf+gbz7h0arpJdYiOXxj5xYwDQYJKoZIhvcNAQELBQAwNTEaMBgGA1UECxMRT3JnYW5pemF0aW9uYWwgQ0ExFzAVBg..........wTBo45axM="],
"x5t": "BBSLHq3rpiVLP2rota71boxAdqE",
"x5tS256": "VAvMs-i58nz5UjOzyOEPpDubjgsNDK_m5z7w8dudPaw",
"n": "okBvqleqjWLqLQ20cd9oajuOFZgOdPgD0rz6PddT1uW0iPkZ53Az68D_9s0fSMh996iGxN8sZFcCO-v0DXFBmUZb8D1VuBbx4v8Q_OUWhUk6V0QgUnzsdEYP39tZqU4gq KMuwzCbqqD1tj1C510tT8LK8lJjYuIjP-eNHv_WaL9QAH0iRwOWXA_a9ZwEoOhI0R-HqnvvJNyuUnh0umHDow3Uu7uuTKMFmziNzcB4ANBrKytVsfqBz2M9qNi6YqpT1ysGyX_M_PCja 2q8CDQxpcUm7XikFNdjutTR_B1gXDEk0Y8O7MgeKQcbYq1jMGEzIUabeka6jbBE2RR-mzV1YQ",
"e": "AQAB"
}
]
}
the company claims that I have everything needed to verify the public key of the jwt but in my code I keep getting the error
caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath. SunCertPathBuilderException: unable to find valid certification path to requested target.
This is my method:
private RSAPublicKey loadPublicKey(DecodedJWT token) throws JwkException, MalformedURLException {
final String url = "https://XXXXXXXX/oauth/nam/keys"; //getKeycloakCertificateUrl(token);
// final String url = "https://XXXXXXXXX/api/GetCA";
JwkProvider provider = new UrlJwkProvider(new URL(url));
return (RSAPublicKey) provider.get(token.getKeyId()).getPublicKey();
}