---
name: "shisa_keys_find"
section: "3"
platform: "linux"
package: "libshisa-dev"
version: "1.0.3-5+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/shisa_keys_find"
---

# shisa\_keys\_find(3)

API function

## NAME

shisa\_keys\_find - API function

## SYNOPSIS

**#include \<shisa.h\>**

**int shisa\_keys\_find(Shisa \*** *dbh***, const char \*** *realm***, const char \*** *principal***, const Shisa\_key \*** *hint***, Shisa\_key \*\*\*** *keys***, size\_t \*** *nkeys***);**

## ARGUMENTS

- Shisa \* dbh

  Shisa library handle created by **shisa()**.

- const char \* realm

  Name of the realm the principal belongs to.

- const char \* principal

  Name of the principal whose keys are examined.

- const Shisa\_key \* hint

  Pointer to a Shisa key structure with hints on matching criteria for relevant keys.  **NULL** matches all keys.

- Shisa\_key \*\*\* keys

  Returned pointer to a newly allocated array of Shisa key structures.

- size\_t \* nkeys

  Pointer to an integer updated with the number of allocated Shisa key structures in \**keys*.

## DESCRIPTION

Iterates through the set of keys belonging to PRINCIPAL@REALM, as selected by *principal* and *realm*.  Then extracts any keys that match the criteria in *hint*.

Not all elements of *hint* need to be filled in.  Set only the fields you are interested in.  For example, if you want to extract all keys of etype 3, i.e., DES-CBC-MD5, then set the field *key*-\>etype to 3, and all other fields to zero.

## RETURN VALUE

Returns **SHISA\_OK** if successful, or an error code.

## REPORTING BUGS

Report bugs to \<bug-shishi@gnu.org\>. GNU Shishi home page: http://www.gnu.org/software/shishi/ General help using GNU software: http://www.gnu.org/gethelp/

## COPYRIGHT

Copyright © 2002-2022 Simon Josefsson.\
 Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

## SEE ALSO

The full documentation for **shishi** is maintained as a Texinfo manual.  If the **info** and **shishi** programs are properly installed at your site, the command

-

  **info shishi**

should give you access to the complete manual.
