rpm 5.99.90
The RPM Package Manager
 
Loading...
Searching...
No Matches
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_DELETE = 2 }
 

Functions

rpmKeyring rpmKeyringNew (void)
 
rpmKeyring rpmKeyringFree (rpmKeyring keyring)
 
int rpmKeyringAddKey (rpmKeyring keyring, rpmPubkey key)
 
rpmKeyringIterator rpmKeyringInitIterator (rpmKeyring keyring, int unused)
 
rpmPubkey rpmKeyringIteratorNext (rpmKeyringIterator iterator)
 
rpmKeyringIterator rpmKeyringIteratorFree (rpmKeyringIterator iterator)
 
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)
 
char * rpmPubkeyArmorWrap (rpmPubkey key)
 
int rpmPubkeyFingerprint (rpmPubkey key, uint8_t **fp, size_t *fplen)
 
const char * rpmPubkeyFingerprintAsHex (rpmPubkey key)
 
const char * rpmPubkeyKeyIDAsHex (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, merge with pre-existing key DELETE: delete an existing key

Enumeration Type Documentation

◆ rpmKeyringModifyMode_e

Operation mode definitions for rpmKeyringModify ADD: add a new key, merge with pre-existing key 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

◆ rpmKeyringInitIterator()

rpmKeyringIterator rpmKeyringInitIterator ( rpmKeyring keyring,
int unused )

Get iterator for all the primary keys in the keyring

Parameters
keyringkeyring handle
unusedreserved for future use, must be 0
Returns
iterator or NULL

◆ rpmKeyringIteratorFree()

rpmKeyringIterator rpmKeyringIteratorFree ( rpmKeyringIterator iterator)

Free iterator

Parameters
iteratoriterator handle
Returns
NULL

◆ rpmKeyringIteratorNext()

rpmPubkey rpmKeyringIteratorNext ( rpmKeyringIterator iterator)

Get next key in keyring

Parameters
iteratoriterator handle
Returns
weak reference to next public key or NULL if end is reached

◆ 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

◆ rpmPubkeyArmorWrap()

char * rpmPubkeyArmorWrap ( rpmPubkey key)

Return base64 encoding of pubkey

Parameters
keyPubkey
Returns
armored pubkey (malloced), NULL on error

◆ 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()

const char * rpmPubkeyFingerprintAsHex ( rpmPubkey key)

Return fingerprint of primary key as hex string

Parameters
keyPubkey
Returns
string or NULL on failure

◆ rpmPubkeyFree()

rpmPubkey rpmPubkeyFree ( rpmPubkey key)

Free a pubkey.

Parameters
keyPubkey to free
Returns
NULL always

◆ rpmPubkeyKeyIDAsHex()

const char * rpmPubkeyKeyIDAsHex ( rpmPubkey key)

Return key ID of key as hex string

Parameters
keyPubkey
Returns
string or NULL on failure

◆ 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