Guide du mécanisme d'authentification pour l'entreprise de Sun

Nom de principal

Deux types de nom de principal sont requis pour établir et maintenir un contexte de sécurité :

Définition des noms de principal de serveurs

Un serveur doit connaître les noms des principaux qu'il représentera lors de son démarrage (un serveur peut agir comme plus d'un principal). rpc_gss_set_svc_name() définit le nom du/des principal(aux) :


Exemple 8-3 rpc_gss_set_svc_name()

char *principal, *mechanism ;
u_int req_time;
principal = "nfs@eng.acme.com";
mechanism = "kerberos_v5";
req_time = 10000;		/* temps durant lequel le justificatif d'identité doit être valide 
*/
rpc_gss_set_svc_name(principal, mécanisme, req_time, SERV_PROG, SERV_VERS);

(Kerberos ne tient pas compte du paramètre req_time, mais d'autres systèmes d'authentification peuvent l'utiliser.)

Pour de plus amples renseignements, consultez la page de manuel rpc_gss_set_svc_name(3N).

Création de noms de principal de clients

Les serveurs doivent pouvoir agir sur le nom de principal d'un client -- par exemple, pour comparer le nom de principal d'un client à une liste de contrôle d'accès, ou pour consulter un justificatif d'identité UNIX relativement à ce client, si un tel justificatif d'identité existe. Ces noms de principal sont conservés sous la forme d'un pointeur de structure rpc_gss_principal_t. (Consultez la page de manuel rpcsec_gss(3N) pour plus de détails sur rpc_gss_principal_t.) Si un serveur veut comparer un nom de principal reçu au nom d'une entité connue, il doit pouvoir générer un nom de principal dans cette forme.

L'appel rpc_gss_get_principal_name() a comme entrées plusieurs paramètres identifiant de manière unique une personne sur un réseau, et génère un nom de principal comme pointeur de structure rpc_gss_principal_t :


Exemple 8-4 rpc_gss_get_principal_name()

rpc_gss_principal_t *principal;

rpc_gss_get_principal_name(principal, mécanisme, nom, noeud, domaine),
. . .

Voici les arguments de rpc_gss_get_principal_name() :

Chaque mécanisme de sécurité exige des paramètres d'identification différents. Par exemple, Kerberos V5 exige un nom d'utilisateur et, facultativement, des noms de domaine et de noeud qualifiés (dans la terminologie Kerberos, des noms d'hôte et de secteur).

Pour de plus amples renseignements, consultez la page de manuel rpc_gss_get_principal_name(3N).

Libération de noms de principal

Les noms de principal sont libérés au moyen de l'appel de bibliothèque free().