HPlogo HP-UX Reference Volume 4 of 5 > g

getpublickey(3N)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

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

© Hewlett-Packard Development Company, L.P.