smallrye / smallrye-jwt

Apache License 2.0
75 stars 47 forks source link

Support EdDSA in KeyUtils.keyFactoryAlgorithm() #788

Closed Eng-Fouad closed 5 months ago

Eng-Fouad commented 6 months ago

I am trying to decode EdDSA private key using KeyUtils.decodePrivateKey(privateKeyPemEncoded, SignatureAlgorithm.EDDSA). However, the following exception is raised:

java.security.NoSuchAlgorithmException: SRJWT00001: Unsupported key type EDDSA
    at io.smallrye.jwt.util.KeyUtils.keyFactoryAlgorithm(KeyUtils.java:341)
    at io.smallrye.jwt.util.KeyUtils.decodePrivateKey(KeyUtils.java:170)

It seems that KeyUtils.keyFactoryAlgorithm() does not recognize EdDSA.

https://github.com/smallrye/smallrye-jwt/blob/6dd836a16b88ee0d890a10304c4b612f40f052e9/implementation/common/src/main/java/io/smallrye/jwt/util/KeyUtils.java#L334-L342