2010-11-03 28 views
0

Je crée une petite application (pour le moment) qui doit générer un Token avec la bibliothèque Kerberos. Les deux méthodes équivalentes que je recherche sont les méthodes gss_import_name et gss_init_sec_context. J'ai trouvé plusieurs exemples dans d'autres langages: C, C++ et C#, mais aucun en Java. Je ne suis même pas sûr de la bibliothèque à importer dans mon application. Si quelqu'un a une réponse à ma question, cela me serait très utile.Equivalent des méthodes 'gss_import_name' et 'gss_init_sec_context' dans java?

Cordialement, Ephismen.

Répondre

2

Le package que vous souhaitez utiliser est sun.security.jgss. Dans ce paquet, vous vous trouvez pouvez effectuer les opérations suivantes:

byte[] kerberosTicket; 

GSSContext context = GSSManager.getInstance().createContext((GSSCredential); 
context.initSecContext(kerberosTicket, 0, kerberosTicket.length); 
String user = context.getSrcName().toString(); 
context.dispose(); 
return user; 

La seule mise en œuvre de GSSContext est GSSContextImpl qui est également dans le même paquet.

Grant

0

Si vous regardez ce document:

Generic Security Service API Version 2 : Java Bindings

Ce document explique beaucoup de choses sur l'ESG et donne des exemples d'un couple. Une section du document explique quelles interfaces implémentent la fonctionnalité des routines GSS-API que vous avez mentionnées plus haut.

gss_import_name: implémenté par la classe GSSManager.

gss_init_sec_context: implémenté par l'interface GSSContext.