PreviousNext

Basic Operations of Authenticated RPCs

The authenticated RPC routines provide a mechanism for establishing secure communications between clients and servers.

To engage in authenticated RPC, a client and server must agree on the authentication service to be used. The server's responsibility is to register its principal name and the authentication service to be supported with the RPC runtime. The client's responsibility is to establish the authentication service, a given protection level, and an authorization service for the server binding handle. The protection level determines the degree of protection applied to individual messages between the client and server. The authorization service determines the form in which the client's credentials will be presented to the server (for access checking).

Once authenticated RPC has been established between a client and server, the client issues remote procedure calls in the usual fashion, with all authentication and protection being handled by the DCE Security Service and the RPC runtime.

The following table relates several of the RPC runtime operations just discussed with specific routines or sets of routines.


Basic Runtime Routines

Description of Operation Usage Routine Name(s)
Communications Routines
Set the type of an RPC object with the RPC runtime Server rpc_object_set_type( )
Register RPC interfaces Server rpc_server_register_if( )
Select RPC protocol sequences Server rpc_network_inq_protseqs( ) and rpc_server_use_*protseq*_...( )
Obtain server binding handles Server rpc_server_inq_bindings( )
Register endpoints Server rpc_ep_register( ) and rpc_ep_register_no_replace( )
Unregister endpoints Server rpc_ep_unregister( )
Listen for calls Server rpc_server_listen( )
Manipulate string representations of binding information (string bindings) Client rpc_binding_from_string_binding( )
Client, Server rpc_binding_to_string_binding( ), rpc_string_binding_compose( ), and rpc_string_binding_parse( ) T}
Change the RPC object in server binding information Client rpc_binding_set_object( )
Convert a client binding handle to a server binding handle Server rpc_binding_server_from_client( ) _
Name Service Interface Routines
Export binding information to a namespace Server rpc_ns_binding_export( )
Search a namespace for binding information Client rpc_ns_binding_import_...( ), rpc_ns_binding_lookup_...( ), and rpc_ns_binding_select( )
Authentication Routines
Authentication and authorization Server, Client rpc_*auth...( )