*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->FreeBSD man pages -> rpc_secure (3)              
Title
Content
Arch
Section
 

RPC(3)

Contents


NAME    [Toc]    [Back]

     rpc_secure -- library routines for secure remote procedure calls

SYNOPSIS    [Toc]    [Back]

     #include <rpc/rpc.h>

     AUTH *
     authdes_create(char *name, unsigned window, struct sockaddr *addr,
	 des_block *ckey);

     int
     authdes_getucred(struct authdes_cred *adc, uid_t *uid, gid_t *gid,
	 int *grouplen, gid_t *groups);

     int
     getnetname(char *name);

     int
     host2netname(char *name, const char *host, const char *domain);

     int
     key_decryptsession(const char *remotename, des_block *deskey);

     int
     key_encryptsession(const char *remotename, des_block *deskey);

     int
     key_gendes(des_block *deskey);

     int
     key_setsecret(const char *key);

     int
     netname2host(char *name, char *host, int hostlen);

     int
     netname2user(char *name, uid_t *uidp, gid_t *gidp, int *gidlenp,
	 gid_t *gidlist);

     int
     user2netname(char *name, const uid_t uid, const char *domain);

DESCRIPTION    [Toc]    [Back]

     These routines are part of the RPC library.  They implement DES Authentication.
  See rpc(3) for further details about RPC.

     The authdes_create() is the first of two routines which interface to the
     RPC secure authentication system, known as DES authentication.  The second
 is authdes_getucred(), below.

     Note: the keyserver daemon keyserv(8) must be running for the DES authentication
 system to work.

     The authdes_create() function, used on the client side, returns an
     authentication handle that will enable the use of the secure authentication
 system.  The first argument name is the network name, or netname, of
     the owner of the server process.  This field usually represents a
     hostname derived from the utility routine host2netname(), but could also
     represent a user name using user2netname().  The second field is window
     on the validity of the client credential, given in seconds.  A small window
 is more secure than a large one, but choosing too small of a window
     will increase the frequency of resynchronizations because of clock drift.
     The third argument addr is optional.  If it is NULL, then the authentication
 system will assume that the local clock is always in sync with the
     server's clock, and will not attempt resynchronizations.  If an address
     is supplied, however, then the system will use the address for consulting
     the remote time service whenever resynchronization is required.  This
     argument is usually the address of the RPC server itself.	The final
     argument ckey is also optional.  If it is NULL, then the authentication
     system will generate a random DES key to be used for the encryption of
     credentials.  If it is supplied, however, then it will be used instead.

     The authdes_getucred() function, the second of the two DES authentication
     routines, is used on the server side for converting a DES credential,
     which is operating system independent, into a UNIX credential.  This routine
 differs from utility routine netname2user() in that
     authdes_getucred() pulls its information from a cache, and does not have
     to do a Yellow Pages lookup every time it is called to get its information.


     The getnetname() function installs the unique, operating-system independent
 netname of the caller in the fixed-length array name.  Returns TRUE
     if it succeeds and FALSE if it fails.

     The host2netname() function converts from a domain-specific hostname to
     an operating-system independent netname.  Returns TRUE if it succeeds and
     FALSE if it fails.  Inverse of netname2host().

     The key_decryptsession() function is an interface to the keyserver daemon,
 which is associated with RPC's secure authentication system (DES
     authentication).  User programs rarely need to call it, or its associated
     routines key_encryptsession(), key_gendes() and key_setsecret().  System
     commands such as login(1) and the RPC library are the main clients of
     these four routines.

     The key_decryptsession() function takes a server netname and a DES key,
     and decrypts the key by using the public key of the server and the secret
     key associated with the effective uid of the calling process.  It is the
     inverse of key_encryptsession().

     The key_encryptsession() function is a keyserver interface routine.  It
     takes a server netname and a des key, and encrypts it using the public
     key of the server and the secret key associated with the effective uid of
     the calling process.  It is the inverse of key_decryptsession().

     The key_gendes() function is a keyserver interface routine.  It is used
     to ask the keyserver for a secure conversation key.  Choosing one
     "random" is usually not good enough, because the common ways of choosing
     random numbers, such as using the current time, are very easy to guess.

     The key_setsecret() function is a keyserver interface routine.  It is
     used to set the key for the effective uid of the calling process.

     The netname2host() function converts from an operating-system independent
     netname to a domain-specific hostname.  Returns TRUE if it succeeds and
     FALSE if it fails.  Inverse of host2netname().

     The netname2user() function converts from an operating-system independent
     netname to a domain-specific user ID.  Returns TRUE if it succeeds and
     FALSE if it fails.  Inverse of user2netname().

     The user2netname() function converts from a domain-specific username to
     an operating-system independent netname.  Returns TRUE if it succeeds and
     FALSE if it fails.  Inverse of netname2user().

SEE ALSO    [Toc]    [Back]

      
      
     rpc(3), xdr(3), keyserv(8)

     The following manuals:

     Remote Procedure Calls: Protocol Specification.

     Remote Procedure Call Programming Guide.

     Rpcgen Programming Guide.

     RPC: Remote Procedure Call Protocol Specification, RFC1050, Sun
     Microsystems Inc., USC-ISI.


FreeBSD 5.2.1		       February 16, 1988		 FreeBSD 5.2.1
[ Back ]
 Similar pages
Name OS Title
svc_freeargs OpenBSD library routines for remote procedure calls
svc_fdset OpenBSD library routines for remote procedure calls
svc_fds OpenBSD library routines for remote procedure calls
authunix_create_default NetBSD library routines for remote procedure calls
svc_unregister OpenBSD library routines for remote procedure calls
authunix_create NetBSD library routines for remote procedure calls
svc_destroy OpenBSD library routines for remote procedure calls
xdr_replymsg NetBSD XDR library routines for remote procedure calls
xdr_rejected_reply NetBSD XDR library routines for remote procedure calls
callrpc NetBSD library routines for remote procedure calls
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service