csomh / source-git / rpm

Forked from source-git/rpm 4 years ago
Clone
2ff057
#ifndef H_SIGNATURE
2ff057
#define	H_SIGNATURE
2ff057
2ff057
/** \ingroup signature
2ff057
 * \file lib/signature.h
2ff057
 * Generate and verify signatures.
2ff057
 */
2ff057
#include <rpm/rpmtypes.h>
2ff057
2ff057
#ifdef __cplusplus
2ff057
extern "C" {
2ff057
#endif
2ff057
2ff057
/** \ingroup signature
2ff057
 * Read (and verify header+payload size) signature header.
2ff057
 * If an old-style signature is found, we emulate a new style one.
2ff057
 * @param fd		file handle
2ff057
 * @retval sighp	address of (signature) header (or NULL)
2ff057
 * @retval msg		failure msg
2ff057
 * @return		rpmRC return code
2ff057
 */
2ff057
rpmRC rpmReadSignature(FD_t fd, Header *sighp, char ** msg);
2ff057
2ff057
/** \ingroup signature
2ff057
 * Write signature header.
2ff057
 * @param fd		file handle
2ff057
 * @param h		(signature) header
2ff057
 * @return		0 on success, 1 on error
2ff057
 */
2ff057
int rpmWriteSignature(FD_t fd, Header h);
2ff057
2ff057
/** \ingroup signature
2ff057
 * Generate signature and write to file
2ff057
 * @param SHA256	SHA256 digest
2ff057
 * @param SHA1		SHA1 digest
2ff057
 * @param MD5		MD5 digest
2ff057
 * @param size		size of header
2ff057
 * @param payloadSize	size of archive
2ff057
 * @param fd		output file
2ff057
 */
2ff057
rpmRC rpmGenerateSignature(char *SHA256, char *SHA1, uint8_t *MD5,
2ff057
			rpm_loff_t size, rpm_loff_t payloadSize, FD_t fd);
2ff057
2ff057
#ifdef __cplusplus
2ff057
}
2ff057
#endif
2ff057
2ff057
#endif	/* H_SIGNATURE */