![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /usr/include/rpm/ |
#ifndef _RPMKEYRING_H #define _RPMKEYRING_H /** \ingroup rpmkeyring * \file rpmio/rpmkeyring.h */ #include <rpm/rpmtypes.h> #include <rpm/rpmpgp.h> #ifdef __cplusplus extern "C" { #endif /** \ingroup rpmkeyring * Create a new, empty keyring * @return new keyring handle */ rpmKeyring rpmKeyringNew(void); /** \ingroup rpmkeyring * Free keyring and the keys within it * @return NULL always */ rpmKeyring rpmKeyringFree(rpmKeyring keyring); /** \ingroup rpmkeyring * Add a public key to keyring. * @param keyring keyring handle * @param key pubkey handle * @return 0 on success, -1 on error, 1 if key already present */ int rpmKeyringAddKey(rpmKeyring keyring, rpmPubkey key); /** \ingroup rpmkeyring * Perform keyring lookup for a key matching a signature * @param keyring keyring handle * @param sig OpenPGP packet container of signature * @return RPMRC_OK if found, RPMRC_NOKEY otherwise */ rpmRC rpmKeyringLookup(rpmKeyring keyring, pgpDig sig); /** \ingroup rpmkeyring * Perform combined keyring lookup and signature verification * @param keyring keyring handle * @param sig OpenPGP signature parameters * @param ctx signature hash context * @return RPMRC_OK / RPMRC_FAIL / RPMRC_NOKEY */ rpmRC rpmKeyringVerifySig(rpmKeyring keyring, pgpDigParams sig, DIGEST_CTX ctx); /** \ingroup rpmkeyring * Reference a keyring. * @param keyring keyring handle * @return new keyring reference */ rpmKeyring rpmKeyringLink(rpmKeyring keyring); /** \ingroup rpmkeyring * Create a new rpmPubkey from OpenPGP packet * @param pkt OpenPGP packet data * @param pktlen Data length * @return new pubkey handle */ rpmPubkey rpmPubkeyNew(const uint8_t *pkt, size_t pktlen); /** \ingroup rpmkeyring * Create a new rpmPubkey from ASCII-armored pubkey file * @param filename Path to pubkey file * @return new pubkey handle */ rpmPubkey rpmPubkeyRead(const char *filename); /** \ingroup rpmkeyring * Free a pubkey. * @param key Pubkey to free * @return NULL always */ rpmPubkey rpmPubkeyFree(rpmPubkey key); /** \ingroup rpmkeyring * Reference a pubkey. * @param key Pubkey * @return new pubkey reference */ rpmPubkey rpmPubkeyLink(rpmPubkey key); /** \ingroup rpmkeyring * Parse OpenPGP pubkey parameters. * @param key Pubkey * @return parsed output of pubkey packet parameters */ pgpDig rpmPubkeyDig(rpmPubkey key); /** \ingroup rpmkeyring * Return base64 encoding of pubkey * @param key Pubkey * @return base64 encoded pubkey (malloced), NULL on error */ char * rpmPubkeyBase64(rpmPubkey key); #ifdef __cplusplus } #endif #endif /* _RPMKEYDB_H */