hello,

j'ai un souci d'authentification kerberos, c'est au niveau du ticket TGT que je récupère à partir du cache ( dans le jaas.conf : " useTicketCache=true "). Quand je met cette option à false et entre le login et mdp, ça marche à merveille mais à true c'est la galère

le morceau de code suivant me renvoie un subject :

loginCtx = new LoginContext("Client",new LoginCallbackHandler());
loginCtx.login();
Subject loginCtx.getSubject();


Sauf que Subject est incomplet et ce morceau de code lève une exception :

byte[] serviceTicket = (byte[]) Subject.doAs(subject,
new PrivilegedAction<byte[]>() {
public byte[] run() {
try {
byte[] token = new byte[0];
// This is a one pass context initialisation.
context.requestMutualAuth(false);
context.requestCredDeleg(false);
return context.initSecContext(token, 0,token.length);
} catch (GSSException e) {
e.printStackTrace();
return null;
}
}


Voici le message d'erreur :

KrbException: KDC has no support for encryption type (14) ...

J'ai balancer dans l'éditeur de registre un allowtgtsessionkey à true, j'ai changer de version de java, j'ai ensuite décortiquer le "subject" pour m'apercevoir que l'objet sessionkey était à null (différemment de lorsqu'on entre le login et mdp).

ça fait des jours que je lutte dessus donc vos solutions seront les bienvenue,

merci.