Manuale di Sun Enterprise Authentication Mechanism

Nomi principali

Per stabilire e mantenere un contesto di sicurezza sono necessari due tipi di nomi principali:

Impostazione dei nomi principali dei server

All'avvio, un server deve essere informato dei nomi principali che dovrà rappresentare. (Ogni server può assumere l'identità di più nomi principali.) I nomi principali vengono impostati da rpc_gss_set_svc_name():


Esempio 8-3 rpc_gss_set_svc_name()

char *principal, *mechanism;
u_int req_time;

principal = "nfs@euro.spa.it";
mechanism = "kerberos_v5";
req_time = 10000;		/* tempo in cui le credenziali dovrebbero essere valide */

rpc_gss_set_svc_name(principal, mechanism, req_time, SERV_PROG, SERV_VERS);

(Kerberos ignora il parametro req_time, ma altri sistemi di autenticazione potrebbero usarlo.)

Per maggiori informazioni, vedere la pagina man rpc_gss_set_svc_name(3N).

Generazione dei nomi principali dei client

I server devono poter operare sui nomi principali dei client, ad esempio per confrontare il nome principale di un client con il contenuto di una lista di controllo degli accessi, o per cercare una credenziale UNIX per quel client. Questi nomi principali sono tenuti in forma di puntatori a una struttura rpc_gss_principal_t. (Per maggiori informazioni su rpc_gss_principal_t, vedere la pagina man rpcsec_gss(3N).) Se un server vuole confrontare il nome principale che ha ricevuto con il nome di un'entità nota, esso deve poter generare un nome principale in quella forma.

La chiamata rpc_gss_get_principal_name() accetta come input diversi parametri che identificano in modo univoco una persona in una rete, e genera un nome principale in forma di puntatore alla struttura rpc_gss_principal_t:


Esempio 8-4 rpc_gss_get_principal_name()

rpc_gss_principal_t *principal;

rpc_gss_get_principal_name(nome_principale, meccanismo, nome, nodo, dominio);
. . .

Gli argomenti accettati da rpc_gss_get_principal_name() sono i seguenti:

Ogni meccanismo di sicurezza richiede parametri di identificazione differenti. Ad esempio, Kerberos V5 richiede un nome utente e, solo opzionalmente, i nomi qualificati del nodo e del dominio (nella terminologia Kerberos, i nomi dell'host e del settore).

Per maggiori informazioni, vedere la pagina man rpc_gss_get_principal_name(3N).

Svincolo dei nomi principali

I nomi principali vengono resi disponibili con la chiamata alla libreria free().