rpm  6.0.91
The RPM Package Manager
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_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)
 
rpmRC rpmKeyringVerifySig3 (rpmKeyring keyring, pgpDigParams sig, DIGEST_CTX ctx, rpmPubkey *keyptr, ARGV_t *lints)
 
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

Operation mode definitions for rpmKeyringModify ADD: add a new key, merge with pre-existing key DELETE: delete an existing key

Enumeration Type Documentation

Operation mode definitions for rpmKeyringModify ADD: add a new key, merge with pre-existing key DELETE: delete an existing key

Function Documentation

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
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
rpmKeyring rpmKeyringFree ( rpmKeyring  keyring)

Free keyring and the keys within it

Returns
NULL always
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
rpmKeyringIterator rpmKeyringIteratorFree ( rpmKeyringIterator  iterator)

Free iterator

Parameters
iteratoriterator handle
Returns
NULL
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
rpmKeyring rpmKeyringLink ( rpmKeyring  keyring)

Reference a keyring.

Parameters
keyringkeyring handle
Returns
new keyring reference
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
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)
rpmKeyring rpmKeyringNew ( void  )

Create a new, empty keyring

Returns
new keyring handle
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
rpmRC rpmKeyringVerifySig2 ( rpmKeyring  keyring,
pgpDigParams  sig,
DIGEST_CTX  ctx,
rpmPubkey *  keyptr 
)

Perform combined keyring lookup and signature verification (DEPRECATED)

Parameters
keyringkeyring handle
sigOpenPGP signature parameters
ctxsignature hash context
keyptrmatching key (refcounted)
Returns
RPMRC_OK / RPMRC_FAIL / RPMRC_NOKEY
rpmRC rpmKeyringVerifySig3 ( rpmKeyring  keyring,
pgpDigParams  sig,
DIGEST_CTX  ctx,
rpmPubkey *  keyptr,
ARGV_t *  lints 
)

Perform combined keyring lookup and signature verification

Parameters
keyringkeyring handle
sigOpenPGP signature parameters
ctxsignature hash context
keyptrmatching key (refcounted)
lintslints (if any)
Returns
RPMRC_OK / RPMRC_FAIL / RPMRC_NOKEY
char* rpmPubkeyArmorWrap ( rpmPubkey  key)

Return base64 encoding of pubkey

Parameters
keyPubkey
Returns
armored pubkey (malloced), NULL on error
char* rpmPubkeyBase64 ( rpmPubkey  key)

Return base64 encoding of pubkey

Parameters
keyPubkey
Returns
base64 encoded pubkey (malloced), NULL on error
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
const char* rpmPubkeyFingerprintAsHex ( rpmPubkey  key)

Return fingerprint of primary key as hex string

Parameters
keyPubkey
Returns
string or NULL on failure
rpmPubkey rpmPubkeyFree ( rpmPubkey  key)

Free a pubkey.

Parameters
keyPubkey to free
Returns
NULL always
const char* rpmPubkeyKeyIDAsHex ( rpmPubkey  key)

Return key ID of key as hex string

Parameters
keyPubkey
Returns
string or NULL on failure
rpmPubkey rpmPubkeyLink ( rpmPubkey  key)

Reference a pubkey.

Parameters
keyPubkey
Returns
new pubkey reference
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
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
pgpDigParams rpmPubkeyPgpDigParams ( rpmPubkey  key)

Return pgp params of key

Parameters
keyPubkey
Returns
pgp params, NULL on error
rpmPubkey rpmPubkeyRead ( const char *  filename)

Create a new rpmPubkey from ASCII-armored pubkey file

Parameters
filenamePath to pubkey file
Returns
new pubkey handle