---
name: "getsecretkey"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/getpublickey"
---

# getsecretkey(3)

get public or secret key

Part of [getpublickey(3)](/getpublickey/3.md).

## NAME

**publickey**, **getpublickey**, **getsecretkey** – get public or secret key

## LIBRARY

library “librpcsvc”

## SYNOPSIS

**#include \<rpc/rpc.h\>**

**#include \<rpc/key\_prot.h\>**

*int*\

**getpublickey**(*const char netname\[MAXNETNAMELEN+1\]*, *char publickey\[HEXKEYBYTES+1\]*);

*int*\

**getsecretkey**(*char netname\[MAXNETNAMELEN+1\]*, *char secretkey\[HEXKEYBYTES+1\]*, *char \*passwd*);

## DESCRIPTION

These routines are used to get public and secret keys from the YP database. The **getsecretkey**() function has an extra argument, *passwd*, which is used to decrypt the encrypted secret key stored in the database. Both routines return 1 if they are successful in finding the key, 0 otherwise. The keys are returned as NUL-terminated, hexadecimal strings. If the password supplied to **getsecretkey**() fails to decrypt the secret key, the routine will return 1 but the *secretkey* argument will be a NUL string (“”).

## SEE ALSO

publickey(5)

in */usr/share/doc/psd/23.rpc*.
