[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    getpublickey(3N) manual page Table of Contents

Name

getpublickey, getsecretkey, publickey - retrieve public or secret key

Synopsis


#include <rpc/rpc.h>
#include <rpc/key_prot.h>

int getpublickey(const char netname[MAXNETNAMELEN ], char publickey[HEXKEYBYTES +1]);

int getsecretkey(const char netname[MAXNETNAMELEN ], char secretkey[HEXKEYBYTES +1], const char *passwd);

MT-Level

Safe

Description

getpublickey() and getsecretkey() get public and secret keys for netname. The key may come from one of the following sources: the /etc/publickey file (see publickey(4) ) or the NIS map ‘‘publickey.byname’’ or the NIS + table ‘‘cred.org_dir’’. The sources and their lookup order are specified in the /etc/nsswitch.conf file (see nsswitch.conf(4) ).

getsecretkey() has an extra argument, passwd, used to decrypt the encrypted secret key stored in the database.

Return Values

Both routines return 1 if they are successful in finding the key, 0 otherwise. The keys are returned as NULL -terminated, hexadecimal strings. If the password supplied to getsecretkey() fails to decrypt the secret key, the routine will return 1 but the secretkey [0] will be set to NULL .

See Also

secure_rpc(3N) , nsswitch.conf(4) , publickey(4)

Warnings

If getpublickey() gets the public key from any source other than NIS+, all authenticated NIS+ operations may fail. To ensure that this does not happen, edit the nsswitch.conf(4) file to make sure that the public key is obtained from NIS+.


Table of Contents