Go to main content

man pages section 3: Basic Library Functions

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

getpublickey(3C)

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

    The getpublickey() and getsecretkey() functions get public and secret keys for netname. The key may come from one of the following sources:

  • /etc/publickey file. See publickey(5).

  • NIS map publickey.byname.

The sources and their lookup order are specified in the /etc/nsswitch.conf file. See nsswitch.conf(5).

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(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
MT-Level
Safe

See Also

secure_rpc(3C), nsswitch.conf(5), publickey(5), attributes(7)