1 #ifndef H_SIGNATURE
2 #define	H_SIGNATURE
3 
4 /** \ingroup signature
5  * \file lib/signature.h
6  * Generate and verify signatures.
7  */
8 #include <rpm/rpmtypes.h>
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 /** \ingroup signature
15  * Read (and verify header+payload size) signature header.
16  * If an old-style signature is found, we emulate a new style one.
17  * @param fd		file handle
18  * @retval sighp	address of (signature) header (or NULL)
19  * @retval msg		failure msg
20  * @return		rpmRC return code
21  */
22 rpmRC rpmReadSignature(FD_t fd, Header *sighp, char ** msg);
23 
24 /** \ingroup signature
25  * Write signature header.
26  * @param fd		file handle
27  * @param h		(signature) header
28  * @return		0 on success, 1 on error
29  */
30 int rpmWriteSignature(FD_t fd, Header h);
31 
32 /** \ingroup signature
33  * Generate signature and write to file
34  * @param SHA256	SHA256 digest
35  * @param SHA1		SHA1 digest
36  * @param MD5		MD5 digest
37  * @param size		size of header
38  * @param payloadSize	size of archive
39  * @param fd		output file
40  */
41 rpmRC rpmGenerateSignature(char *SHA256, char *SHA1, uint8_t *MD5,
42 			rpm_loff_t size, rpm_loff_t payloadSize, FD_t fd);
43 
44 #ifdef __cplusplus
45 }
46 #endif
47 
48 #endif	/* H_SIGNATURE */
49