HP-UX Reference (11i v2 04/09) - 3 Library Functions A-M (vol 6)

g
getpublickey(3N) getpublickey(3N)
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 ]);
int getsecretkey(
const char netname [MAXNETNAMELEN
],
char secretkey[HEXKEYBYTES ],
const char *passwd );
MULTITHREAD USAGE
Thread Safe: Yes
Cancel Safe: Yes
Fork Safe: No
Async-cancel Safe: No
Async-signal Safe: No
These functions can be called safely in a multithreaded environment. They may be cancellation points in
that they call functions that are cancel points.
In a multithreaded environment, these functions are not safe to be called by a child process after
fork()
and before exec(). These functions should not be called by a multithreaded application that support
asynchronous cancellation or asynchronous signals.
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 (zero) 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.
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() file to make sure
that the public key is obtained from NIS+.
SEE ALSO
secure_rpc(3N), nsswitch.conf(4), publickey(4).
HP-UX 11i Version 2: September 2004 1 Hewlett-Packard Company Section 3423