JWT token verification using ECDSA256 algorithm is working fine on openjdk:8-jdk-alpine docker image.
However when I change base image in Dockerfile to eclipse-temurin:8-jdk-alpine and run my application I get error that jwt token verification failed with below error:
com.auth0.jwt.exceptions.SignatureVerificationException: The Token's Signature resulted invalid when verified using the Algorithm: SHA256withECDSA
What can be cause of issue? How to make it working on temurin docker image?
SunEC mostly doesn't work in that alpine image because its native part libsunec.so requires libgcc_s.so and the dockerfile apparently doesn't include it. Running
apk update;apk add libgccbefore running the java program fixes it for me; you could also create your own local image with this patch if you can handle (or don't need) syncing with the public repo.It looks to me like some display (GUI) functionality may similarly fail for lack of the X libraries, but I don't use Java for GUI stuff so I can't easily check that.
Alternatively, using the ubuntu images
8-{jre,jdk}[-jammy]works as-is because libgcc-s1 is present, apparently for apt.