Manpages

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);

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).

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, which is 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. Otherwise, the routines return 0. 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.

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

Image /var/www/mancx/application/src/../www/___/img/man3/man3/getpublickey1.png

SEE ALSO

secure_rpc(3NSL), nsswitch.conf(4), publickey(4), attributes(5)

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+.

NOTES
NIS+ might not be supported in future releases of the Solaris TM Operating Environment. Tools to aid the migration from NIS+ to LDAP are available in the Solaris 9 operating environment. For more information, visit http://www.sun.com/directory/nisplus/transition.html.