xref: /titanic_50/usr/src/man/man3nsl/getpublickey.3nsl (revision ed22c7109fc5dd9e1b7a5d0333bdc7ad2718e2ab)
te
Copyright 1989 AT&T
Copyright (C) 2005, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
GETPUBLICKEY 3NSL "Nov 10, 2005"
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(4).

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:

ATTRIBUTE TYPE ATTRIBUTE VALUE
MT-Level Safe
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 operating system. Tools to aid the migration from NIS+ to LDAP are available in the current Solaris release. For more information, visit http://www.sun.com/directory/nisplus/transition.html.