ministero-salute / it-fse-gtw-tools

BSD 3-Clause "New" or "Revised" License
11 stars 4 forks source link

Errore Jwt-generator #13

Open gdelgiovine opened 5 months ago

gdelgiovine commented 5 months ago

Buongiorno, stavo cercando di usare il tool per la generazione dei token JWT. Ottengo questo errore quando provo a generare i token usando gli esempi Error while extracting key by alias from p12: java.io.IOException: error constructing MAC: java.lang.SecurityException: JCE cannot authenticate the provider BC at org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.engineLoad(Unknown Source) at org.bouncycastle.jcajce.provider.keystore.util.AdaptingKeyStoreSpi.engineLoad(Unknown Source) at java.base/java.security.KeyStore.load(KeyStore.java:1473) at it.finanze.sanita.fjm.Utility.extractKeyByAliasFromP12(Utility.java:58) at it.finanze.sanita.fjm.Launcher.getTokens(Launcher.java:204) at it.finanze.sanita.fjm.Launcher.buildTokens(Launcher.java:182) at it.finanze.sanita.fjm.Launcher.main(Launcher.java:85)

An error occur while trying to generate JWT, hope this can help: EXCEPTION: Key argument cannot be null. java.lang.IllegalArgumentException: Key argument cannot be null. at io.jsonwebtoken.lang.Assert.notNull(Assert.java:85) at io.jsonwebtoken.impl.DefaultJwtBuilder.signWith(DefaultJwtBuilder.java:106) at it.finanze.sanita.fjm.Launcher.generateAuthJWT(Launcher.java:403) at it.finanze.sanita.fjm.Launcher.getTokens(Launcher.java:219) at it.finanze.sanita.fjm.Launcher.buildTokens(Launcher.java:182) at it.finanze.sanita.fjm.Launcher.main(Launcher.java:85)

L'errore è chiaramente legato al provider Criptografico BouncyCastle. Io nel mio ambiente JRE.1.8 ho impostato tale provider nel file di java.security. Ovviamente non essendo un Jar standard ho provveduto a scaricare dal sito di BounctCastle i relativi Jar signed ma ottengo sempre lo stesso errore.

Ho necessità del tool per validare i token generati dai miei componenti software.....

gdelgiovine commented 5 months ago

Buonasera, ho risolto il problema. Il vostro codice richiede obbligatoriamente una Alias per il certificato di signature del Jwt.