Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getpublickey(3N) — SunOS 5.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

secure_rpc(3N)

nsswitch.conf(4)

publickey(4)

getpublickey(3N)

NAME

getpublickey, getsecretkey − 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);

MT-LEVEL

Unsafe

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

NOTES

These interfaces are unsafe in multithreaded applications.  Unsafe interfaces should be called only from the main thread. 

SunOS 5.2  —  Last change: 22 Jan 1993

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026