rpm 5.99.90
The RPM Package Manager
Loading...
Searching...
No Matches
Files | Typedefs | Enumerations | Functions
RPM keyring API.

RPM keyring API. More...

Files

file  rpmkeyring.h
 

Typedefs

typedef enum rpmKeyringModifyMode_e rpmKeyringModifyMode
 

Enumerations

enum  rpmKeyringModifyMode_e { RPMKEYRING_ADD = 1 , RPMKEYRING_REPLACE = 2 , RPMKEYRING_DELETE = 3 }
 

Functions

rpmKeyring rpmKeyringNew (void)
 
rpmKeyring rpmKeyringFree (rpmKeyring keyring)
 
int rpmKeyringAddKey (rpmKeyring keyring, rpmPubkey key)
 
rpmRC rpmKeyringVerifySig (rpmKeyring keyring, pgpDigParams sig, DIGEST_CTX ctx)
 
rpmRC rpmKeyringVerifySig2 (rpmKeyring keyring, pgpDigParams sig, DIGEST_CTX ctx, rpmPubkey *keyptr)
 
rpmKeyring rpmKeyringLink (rpmKeyring keyring)
 
rpmPubkey rpmPubkeyNew (const uint8_t *pkt, size_t pktlen)
 
rpmPubkey * rpmGetSubkeys (rpmPubkey primarykey, int *count)
 
rpmPubkey rpmPubkeyRead (const char *filename)
 
rpmPubkey rpmPubkeyFree (rpmPubkey key)
 
rpmPubkey rpmPubkeyLink (rpmPubkey key)
 
char * rpmPubkeyBase64 (rpmPubkey key)
 
int rpmPubkeyFingerprint (rpmPubkey key, uint8_t **fp, size_t *fplen)
 
char * rpmPubkeyFingerprintAsHex (rpmPubkey key)
 
pgpDigParams rpmPubkeyPgpDigParams (rpmPubkey key)
 
rpmPubkey rpmKeyringLookupKey (rpmKeyring keyring, rpmPubkey key)
 
int rpmKeyringModify (rpmKeyring keyring, rpmPubkey key, rpmKeyringModifyMode mode)
 
rpmRC rpmPubkeyMerge (rpmPubkey oldkey, rpmPubkey newkey, rpmPubkey *mergedkeyp)
 

Detailed Description

RPM keyring API.

Typedef Documentation

◆ rpmKeyringModifyMode

Operation mode definitions for rpmKeyringModify ADD: add a new key, do nothing if the key is already present REPLACE: add a key, replace if already present DELETE: delete an existing key

Enumeration Type Documentation

◆ rpmKeyringModifyMode_e

Operation mode definitions for rpmKeyringModify ADD: add a new key, do nothing if the key is already present REPLACE: add a key, replace if already present DELETE: delete an existing key

Function Documentation

◆ rpmGetSubkeys()

rpmPubkey * rpmGetSubkeys ( rpmPubkey primarykey,
int * count )

Return array of subkeys belonging to primarykey param primarykey primary rpmPubkey param count count of returned subkeys

Returns
an array of subkey's handles

◆ rpmKeyringAddKey()

int rpmKeyringAddKey ( rpmKeyring keyring,
rpmPubkey key )

Add a public key to keyring.

Parameters
keyringkeyring handle
keypubkey handle
Returns
0 on success, -1 on error, 1 if key already present

◆ rpmKeyringFree()

rpmKeyring rpmKeyringFree ( rpmKeyring keyring)

Free keyring and the keys within it

Returns
NULL always

◆ rpmKeyringLink()

rpmKeyring rpmKeyringLink ( rpmKeyring keyring)

Reference a keyring.

Parameters
keyringkeyring handle
Returns
new keyring reference

◆ rpmKeyringLookupKey()

rpmPubkey rpmKeyringLookupKey ( rpmKeyring keyring,
rpmPubkey key )

Lookup a pubkey in the keyring

Parameters
keyringkeyring handle
keyPubkey to find in keyring
Returns
pubkey handle, NULL if not found

◆ rpmKeyringModify()

int rpmKeyringModify ( rpmKeyring keyring,
rpmPubkey key,
rpmKeyringModifyMode mode )

Modify the keys in the keyring

Parameters
keyringkeyring handle
keypubkey handle
modemode of operation
Returns
0 on success, -1 on error, 1 if the operation did not change anything (key already present for RPMKEYRING_ADD, key not found for RPMKEYRING_DELETE)

◆ rpmKeyringNew()

rpmKeyring rpmKeyringNew ( void )

Create a new, empty keyring

Returns
new keyring handle

◆ rpmKeyringVerifySig()

rpmRC rpmKeyringVerifySig ( rpmKeyring keyring,
pgpDigParams sig,
DIGEST_CTX ctx )

Perform combined keyring lookup and signature verification

Parameters
keyringkeyring handle
sigOpenPGP signature parameters
ctxsignature hash context
Returns
RPMRC_OK / RPMRC_FAIL / RPMRC_NOKEY

◆ rpmKeyringVerifySig2()

rpmRC rpmKeyringVerifySig2 ( rpmKeyring keyring,
pgpDigParams sig,
DIGEST_CTX ctx,
rpmPubkey * keyptr )

Perform combined keyring lookup and signature verification

Parameters
keyringkeyring handle
sigOpenPGP signature parameters
ctxsignature hash context
keyptrmatching key (refcounted)
Returns
RPMRC_OK / RPMRC_FAIL / RPMRC_NOKEY

◆ rpmPubkeyBase64()

char * rpmPubkeyBase64 ( rpmPubkey key)

Return base64 encoding of pubkey

Parameters
keyPubkey
Returns
base64 encoded pubkey (malloced), NULL on error

◆ rpmPubkeyFingerprint()

int rpmPubkeyFingerprint ( rpmPubkey key,
uint8_t ** fp,
size_t * fplen )

Return fingerprint of primary key

Parameters
keyPubkey
fpFingerprint data
fplenLength of Fingerprint
Returns
0 on success

◆ rpmPubkeyFingerprintAsHex()

char * rpmPubkeyFingerprintAsHex ( rpmPubkey key)

Return fingerprint of primary key as hex string

Parameters
keyPubkey @ return string or NULL on failure

◆ rpmPubkeyFree()

rpmPubkey rpmPubkeyFree ( rpmPubkey key)

Free a pubkey.

Parameters
keyPubkey to free
Returns
NULL always

◆ rpmPubkeyLink()

rpmPubkey rpmPubkeyLink ( rpmPubkey key)

Reference a pubkey.

Parameters
keyPubkey
Returns
new pubkey reference

◆ rpmPubkeyMerge()

rpmRC rpmPubkeyMerge ( rpmPubkey oldkey,
rpmPubkey newkey,
rpmPubkey * mergedkeyp )

Merge the data of two pubkeys describing the same key

Parameters
oldkeyold Pubkey
newkeynew Pubkey
mergedkeypmerged Pubkey, NULL if identical to old Pubkey
Returns
RPMRC_OK / RPMRC_FAIL

◆ rpmPubkeyNew()

rpmPubkey rpmPubkeyNew ( const uint8_t * pkt,
size_t pktlen )

Create a new rpmPubkey from OpenPGP packet

Parameters
pktOpenPGP packet data
pktlenData length
Returns
new pubkey handle

◆ rpmPubkeyPgpDigParams()

pgpDigParams rpmPubkeyPgpDigParams ( rpmPubkey key)

Return pgp params of key

Parameters
keyPubkey
Returns
pgp params, NULL on error

◆ rpmPubkeyRead()

rpmPubkey rpmPubkeyRead ( const char * filename)

Create a new rpmPubkey from ASCII-armored pubkey file

Parameters
filenamePath to pubkey file
Returns
new pubkey handle