Sun Guía de Sun Enterprise Authentication Mechanism

Nombres de principal

Para establecer un contexto de seguridad son necesarios dos tipos de nombres de principal:

Establecimiento de nombres de principal de servidor

Los servidores necesitan conocer los nombres de los principales a los que representarán cuando se inicien (un servidor puede hacer de más de un principal). rpc_gss_set_svc_name() establece el nombre del principal o principales:


Ejemplo 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;		/* tiempo durante el que debería ser válida la credencial */ 

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

(Kerberos ignora el parámetro req_time. Es posible que otros sistemas de autenticación lo utilicen).

Para obtener más información, véase la página del comando man de rpc_gss_set_svc_name(3N).

Generación de nombres de principal de cliente

Los servidores necesitan poder trabajar con el nombre de principal de un cliente; por ejemplo, para comparar el nombre de principal de un cliente con una lista de control de acceso o para consultar una credencial de UNIX para ese cliente, en caso de que exista. Estos nombres de principal se mantienen en forma de un puntero a una estructura rpc_gss_principal_t. (Para obtener más información sobre rpc_gss_principal_t, véase la página del comando man rpcsec_gss(3N)). Si un servidor desea comparar un nombre de principal recibido con el nombre de una entidad conocida, necesita poder generar un nombre de principal en ese formato.

La llamada rpc_gss_get_principal_name() toma varios parámetros de entrada que identifican de forma única a una persona de la red y genera un nombre de principal como un puntero de estructura rpc_gss_principal_t:


Ejemplo 8-4 rpc_gss_get_principal_name()

rpc_gss_principal_t *principal; 

rpc_gss_get_principal_name(principal, mecanismo, nombre, nodo, dominio); 
. . .

Los argumentos de rpc_gss_get_principal_name() son los siguientes:

Cada mecanismo de seguridad necesita parámetros de identificación diferentes. Por ejemplo, Kerberos V5 necesita un nombre de usuario y, sólo de forma opcional, nombres completos de nombre y de dominio (en términos de Kerberos, nombres de sistema y de ámbito).

Para obtener más información, véase la página del comando man de rpc_gss_get_principal_name(3N).

Liberación de nombres de principal

Los nombres de principal se liberan mediante la llamada de biblioteca free().