rpm 4.19.1.1 The RPM Package Manager

Loading...
Searching...
No Matches
rpmpgp.h
Go to the documentation of this file.
1#ifndef H_RPMPGP
2#define H_RPMPGP
3
17#include <string.h>
18#include <stdio.h>
19#include <stdlib.h>
20#include <rpm/rpmtypes.h>
21#include <rpm/rpmstring.h>
22#include <rpm/rpmcrypto.h>
23
24#ifdef __cplusplus
25 extern "C" {
26#endif
27
30 typedef struct pgpDigParams_s * pgpDigParams;
31
32
36#define PGP_KEYID_LEN 8
37
38 typedef uint8_t pgpKeyID_t[PGP_KEYID_LEN];
39 typedef uint8_t pgpTime_t[4];
40
48 typedef enum pgpTag_e {
49 PGPTAG_RESERVED = 0,
50 PGPTAG_PUBLIC_SESSION_KEY = 1,
51 PGPTAG_SIGNATURE = 2,
52 PGPTAG_SYMMETRIC_SESSION_KEY= 3,
53 PGPTAG_ONEPASS_SIGNATURE = 4,
54 PGPTAG_SECRET_KEY = 5,
55 PGPTAG_PUBLIC_KEY = 6,
56 PGPTAG_SECRET_SUBKEY = 7,
57 PGPTAG_COMPRESSED_DATA = 8,
58 PGPTAG_SYMMETRIC_DATA = 9,
59 PGPTAG_MARKER = 10,
60 PGPTAG_LITERAL_DATA = 11,
61 PGPTAG_TRUST = 12,
62 PGPTAG_USER_ID = 13,
63 PGPTAG_PUBLIC_SUBKEY = 14,
64 PGPTAG_COMMENT_OLD = 16,
65 PGPTAG_PHOTOID = 17,
66 PGPTAG_ENCRYPTED_MDC = 18,
67 PGPTAG_MDC = 19,
68 PGPTAG_PRIVATE_60 = 60,
69 PGPTAG_COMMENT = 61,
70 PGPTAG_PRIVATE_62 = 62,
71 PGPTAG_CONTROL = 63
72} pgpTag;
73
108 typedef struct pgpPktPubkey_s {
109 uint8_t version;
110 pgpKeyID_t keyid;
111 uint8_t algo;
112} pgpPktPubkey;
113
114
121 typedef enum pgpSigType_e {
122 PGPSIGTYPE_BINARY = 0x00,
123 PGPSIGTYPE_TEXT = 0x01,
124 PGPSIGTYPE_STANDALONE = 0x02,
125 PGPSIGTYPE_GENERIC_CERT = 0x10,
127 PGPSIGTYPE_PERSONA_CERT = 0x11,
129 PGPSIGTYPE_CASUAL_CERT = 0x12,
131 PGPSIGTYPE_POSITIVE_CERT = 0x13,
133 PGPSIGTYPE_SUBKEY_BINDING = 0x18,
134 PGPSIGTYPE_SIGNED_KEY = 0x1F,
135 PGPSIGTYPE_KEY_REVOKE = 0x20,
136 PGPSIGTYPE_SUBKEY_REVOKE = 0x28,
137 PGPSIGTYPE_CERT_REVOKE = 0x30,
138 PGPSIGTYPE_TIMESTAMP = 0x40
139} pgpSigType;
140
165 typedef enum pgpPubkeyAlgo_e {
166 PGPPUBKEYALGO_RSA = 1,
167 PGPPUBKEYALGO_RSA_ENCRYPT = 2,
168 PGPPUBKEYALGO_RSA_SIGN = 3,
169 PGPPUBKEYALGO_ELGAMAL_ENCRYPT = 16,
170 PGPPUBKEYALGO_DSA = 17,
171 PGPPUBKEYALGO_EC = 18,
172 PGPPUBKEYALGO_ECDSA = 19,
173 PGPPUBKEYALGO_ELGAMAL = 20,
174 PGPPUBKEYALGO_DH = 21,
175 PGPPUBKEYALGO_EDDSA = 22
176} pgpPubkeyAlgo;
177
202 typedef enum pgpSymkeyAlgo_e {
203 PGPSYMKEYALGO_PLAINTEXT = 0,
204 PGPSYMKEYALGO_IDEA = 1,
205 PGPSYMKEYALGO_TRIPLE_DES = 2,
206 PGPSYMKEYALGO_CAST5 = 3,
207 PGPSYMKEYALGO_BLOWFISH = 4,
208 PGPSYMKEYALGO_SAFER = 5,
209 PGPSYMKEYALGO_DES_SK = 6,
210 PGPSYMKEYALGO_AES_128 = 7,
211 PGPSYMKEYALGO_AES_192 = 8,
212 PGPSYMKEYALGO_AES_256 = 9,
213 PGPSYMKEYALGO_TWOFISH = 10,
214 PGPSYMKEYALGO_NOENCRYPT = 110
215} pgpSymkeyAlgo;
216
232 typedef enum pgpCompressAlgo_e {
233 PGPCOMPRESSALGO_NONE = 0,
234 PGPCOMPRESSALGO_ZIP = 1,
235 PGPCOMPRESSALGO_ZLIB = 2,
236 PGPCOMPRESSALGO_BZIP2 = 3
237} pgpCompressAlgo;
238
262 typedef enum pgpHashAlgo_e {
263 PGPHASHALGO_MD5 = 1,
264 PGPHASHALGO_SHA1 = 2,
265 PGPHASHALGO_RIPEMD160 = 3,
266 PGPHASHALGO_MD2 = 5,
267 PGPHASHALGO_TIGER192 = 6,
268 PGPHASHALGO_HAVAL_5_160 = 7,
269 PGPHASHALGO_SHA256 = 8,
270 PGPHASHALGO_SHA384 = 9,
271 PGPHASHALGO_SHA512 = 10,
272 PGPHASHALGO_SHA224 = 11,
273} pgpHashAlgo;
274
281 typedef enum pgpCurveId_e {
282 PGPCURVE_NIST_P_256 = 1,
283 PGPCURVE_NIST_P_384 = 2,
284 PGPCURVE_NIST_P_521 = 3,
285 PGPCURVE_BRAINPOOL_P256R1 = 4,
286 PGPCURVE_BRAINPOOL_P512R1 = 5,
287 PGPCURVE_ED25519 = 6,
288 PGPCURVE_CURVE25519 = 7,
289} pgpCurveId;
290
312 typedef struct pgpPktSigV3_s {
313 uint8_t version;
314 uint8_t hashlen;
315 uint8_t sigtype;
316 pgpTime_t time;
317 pgpKeyID_t signid;
318 uint8_t pubkey_algo;
319 uint8_t hash_algo;
320 uint8_t signhash16[2];
321} * pgpPktSigV3;
322
344 typedef struct pgpPktSigV4_s {
345 uint8_t version;
346 uint8_t sigtype;
347 uint8_t pubkey_algo;
348 uint8_t hash_algo;
349 uint8_t hashlen[2];
350} * pgpPktSigV4;
351
418 typedef enum pgpSubType_e {
419 PGPSUBTYPE_NONE = 0,
420 PGPSUBTYPE_SIG_CREATE_TIME = 2,
421 PGPSUBTYPE_SIG_EXPIRE_TIME = 3,
422 PGPSUBTYPE_EXPORTABLE_CERT = 4,
423 PGPSUBTYPE_TRUST_SIG = 5,
424 PGPSUBTYPE_REGEX = 6,
425 PGPSUBTYPE_REVOCABLE = 7,
426 PGPSUBTYPE_KEY_EXPIRE_TIME = 9,
427 PGPSUBTYPE_ARR = 10,
428 PGPSUBTYPE_PREFER_SYMKEY = 11,
429 PGPSUBTYPE_REVOKE_KEY = 12,
430 PGPSUBTYPE_ISSUER_KEYID = 16,
431 PGPSUBTYPE_NOTATION = 20,
432 PGPSUBTYPE_PREFER_HASH = 21,
433 PGPSUBTYPE_PREFER_COMPRESS = 22,
434 PGPSUBTYPE_KEYSERVER_PREFERS= 23,
435 PGPSUBTYPE_PREFER_KEYSERVER = 24,
436 PGPSUBTYPE_PRIMARY_USERID = 25,
437 PGPSUBTYPE_POLICY_URL = 26,
438 PGPSUBTYPE_KEY_FLAGS = 27,
439 PGPSUBTYPE_SIGNER_USERID = 28,
440 PGPSUBTYPE_REVOKE_REASON = 29,
441 PGPSUBTYPE_FEATURES = 30,
442 PGPSUBTYPE_EMBEDDED_SIG = 32,
444 PGPSUBTYPE_INTERNAL_100 = 100,
445 PGPSUBTYPE_INTERNAL_101 = 101,
446 PGPSUBTYPE_INTERNAL_102 = 102,
447 PGPSUBTYPE_INTERNAL_103 = 103,
448 PGPSUBTYPE_INTERNAL_104 = 104,
449 PGPSUBTYPE_INTERNAL_105 = 105,
450 PGPSUBTYPE_INTERNAL_106 = 106,
451 PGPSUBTYPE_INTERNAL_107 = 107,
452 PGPSUBTYPE_INTERNAL_108 = 108,
453 PGPSUBTYPE_INTERNAL_109 = 109,
454 PGPSUBTYPE_INTERNAL_110 = 110,
456 PGPSUBTYPE_CRITICAL = 128
457} pgpSubType;
458
479 typedef union pgpPktSig_u {
480 struct pgpPktSigV3_s v3;
481 struct pgpPktSigV4_s v4;
482} * pgpPktSig;
483
512 typedef struct pgpPktSymkey_s {
513 uint8_t version;
514 uint8_t symkey_algo;
515 uint8_t s2k[1];
516} pgpPktSymkey;
517
547 typedef struct pgpPktOnepass_s {
548 uint8_t version;
549 uint8_t sigtype;
550 uint8_t hash_algo;
551 uint8_t pubkey_algo;
552 pgpKeyID_t signid;
553 uint8_t nested;
554} * pgpPktOnepass;
555
628 typedef struct pgpPktKeyV3_s {
629 uint8_t version;
630 pgpTime_t time;
631 uint8_t valid[2];
632 uint8_t pubkey_algo;
633} * pgpPktKeyV3;
634
671 typedef struct pgpPktKeyV4_s {
672 uint8_t version;
673 pgpTime_t time;
674 uint8_t pubkey_algo;
675} * pgpPktKeyV4;
676
741 typedef union pgpPktKey_u {
742 struct pgpPktKeyV3_s v3;
743 struct pgpPktKeyV4_s v4;
744} pgpPktKey;
745
770 typedef struct pgpPktCdata_s {
771 uint8_t compressalgo;
772 uint8_t data[1];
773} pgpPktCdata;
774
809 typedef struct pgpPktEdata_s {
810 uint8_t data[1];
811} pgpPktEdata;
812
860 typedef struct pgpPktLdata_s {
861 uint8_t format;
862 uint8_t filenamelen;
863 uint8_t filename[1];
864} pgpPktLdata;
865
879 typedef struct pgpPktTrust_s {
880 uint8_t flag;
881} pgpPktTrust;
882
893 typedef struct pgpPktUid_s {
894 uint8_t userid[1];
895} pgpPktUid;
896
899 union pgpPktPre_u {
900 pgpPktPubkey pubkey;
901 pgpPktSig sig;
902 pgpPktSymkey symkey;
903 pgpPktOnepass onepass;
904 pgpPktKey key;
905 pgpPktCdata cdata;
906 pgpPktEdata edata;
908 pgpPktLdata ldata;
909 pgpPktTrust tdata;
910 pgpPktUid uid;
911};
912
915 typedef enum pgpArmor_e {
916 PGPARMOR_ERR_CRC_CHECK = -7,
917 PGPARMOR_ERR_BODY_DECODE = -6,
918 PGPARMOR_ERR_CRC_DECODE = -5,
919 PGPARMOR_ERR_NO_END_PGP = -4,
920 PGPARMOR_ERR_UNKNOWN_PREAMBLE_TAG = -3,
921 PGPARMOR_ERR_UNKNOWN_ARMOR_TYPE = -2,
922 PGPARMOR_ERR_NO_BEGIN_PGP = -1,
923#define PGPARMOR_ERROR PGPARMOR_ERR_NO_BEGIN_PGP
924 PGPARMOR_NONE = 0,
925 PGPARMOR_MESSAGE = 1,
926 PGPARMOR_PUBKEY = 2,
927 PGPARMOR_SIGNATURE = 3,
928 PGPARMOR_SIGNED_MESSAGE = 4,
929 PGPARMOR_FILE = 5,
930 PGPARMOR_PRIVKEY = 6,
931 PGPARMOR_SECKEY = 7
932} pgpArmor;
933
936 typedef enum pgpArmorKey_e {
937 PGPARMORKEY_VERSION = 1,
938 PGPARMORKEY_COMMENT = 2,
939 PGPARMORKEY_MESSAGEID = 3,
940 PGPARMORKEY_HASH = 4,
941 PGPARMORKEY_CHARSET = 5
942} pgpArmorKey;
943
944 typedef enum pgpValType_e {
945 PGPVAL_TAG = 1,
946 PGPVAL_ARMORBLOCK = 2,
947 PGPVAL_ARMORKEY = 3,
948 PGPVAL_SIGTYPE = 4,
949 PGPVAL_SUBTYPE = 5,
950 PGPVAL_PUBKEYALGO = 6,
951 PGPVAL_SYMKEYALGO = 7,
952 PGPVAL_COMPRESSALGO = 8,
953 PGPVAL_HASHALGO = 9,
954 PGPVAL_SERVERPREFS = 10,
955} pgpValType;
956
963 const char * pgpValString(pgpValType type, uint8_t val);
964
971 static inline
972 unsigned int pgpGrab(const uint8_t *s, size_t nbytes)
973{
974 size_t i = 0;
975 size_t nb = (nbytes <= sizeof(i) ? nbytes : sizeof(i));
976 while (nb--)
977 i = (i << 8) | *s++;
978 return i;
979}
980
989 int pgpPubkeyFingerprint(const uint8_t * pkt, size_t pktlen,
990 uint8_t **fp, size_t *fplen);
991
999 int pgpPubkeyKeyID(const uint8_t * pkt, size_t pktlen, pgpKeyID_t keyid);
1000
1009 int pgpPrtParams(const uint8_t *pkts, size_t pktlen, unsigned int pkttype,
1010 pgpDigParams * ret);
1011
1021 int pgpPrtParams2(const uint8_t *pkts, size_t pktlen, unsigned int pkttype,
1022 pgpDigParams * ret, char **lints);
1023
1033 int pgpPrtParamsSubkeys(const uint8_t *pkts, size_t pktlen,
1034 pgpDigParams mainkey, pgpDigParams **subkeys,
1035 int *subkeysCount);
1036
1044pgpArmor pgpReadPkts(const char * fn, uint8_t ** pkt, size_t * pktlen);
1045
1053pgpArmor pgpParsePkts(const char *armor, uint8_t ** pkt, size_t * pktlen);
1054
1067 int pgpPubKeyCertLen(const uint8_t *pkts, size_t pktslen, size_t *certlen);
1068
1093 rpmRC pgpPubKeyLint(const uint8_t *pkts, size_t pktslen, char **explanation);
1094
1102 char * pgpArmorWrap(int atype, const unsigned char * s, size_t ns);
1103
1110 int pgpDigParamsCmp(pgpDigParams p1, pgpDigParams p2);
1111
1118 unsigned int pgpDigParamsAlgo(pgpDigParams digp, unsigned int algotype);
1119
1136 const uint8_t *pgpDigParamsSignID(pgpDigParams digp);
1137
1156 const char *pgpDigParamsUserID(pgpDigParams digp);
1157
1175 int pgpDigParamsVersion(pgpDigParams digp);
1176
1183uint32_t pgpDigParamsCreationTime(pgpDigParams digp);
1184
1190pgpDigParams pgpDigParamsFree(pgpDigParams digp);
1191
1199 rpmRC pgpVerifySignature(pgpDigParams key, pgpDigParams sig, DIGEST_CTX hashctx);
1200
1209 rpmRC pgpVerifySignature2(pgpDigParams key, pgpDigParams sig, DIGEST_CTX hashctx,
1210 char **lints);
1211
1219 int pgpSignatureType(pgpDigParams sig);
1220
1226 char *pgpIdentItem(pgpDigParams digp);
1227
1228#ifdef __cplusplus
1229}
1230#endif
1231
1232#endif /* H_RPMPGP */
pgpValString
const char * pgpValString(pgpValType type, uint8_t val)
pgpTag
enum pgpTag_e pgpTag
pgpHashAlgo
enum pgpHashAlgo_e pgpHashAlgo
pgpVerifySignature
rpmRC pgpVerifySignature(pgpDigParams key, pgpDigParams sig, DIGEST_CTX hashctx)
pgpPrtParams
int pgpPrtParams(const uint8_t *pkts, size_t pktlen, unsigned int pkttype, pgpDigParams *ret)
pgpPubkeyAlgo
enum pgpPubkeyAlgo_e pgpPubkeyAlgo
pgpSigType
enum pgpSigType_e pgpSigType
pgpPktKeyV4
struct pgpPktKeyV4_s * pgpPktKeyV4
pgpPktSigV3
struct pgpPktSigV3_s * pgpPktSigV3
pgpCompressAlgo_e
pgpCompressAlgo_e
Definition rpmpgp.h:232
pgpDigParamsCreationTime
uint32_t pgpDigParamsCreationTime(pgpDigParams digp)
pgpPubKeyCertLen
int pgpPubKeyCertLen(const uint8_t *pkts, size_t pktslen, size_t *certlen)
pgpDigParamsSignID
const uint8_t * pgpDigParamsSignID(pgpDigParams digp)
pgpSignatureType
int pgpSignatureType(pgpDigParams sig)
pgpPrtParams2
int pgpPrtParams2(const uint8_t *pkts, size_t pktlen, unsigned int pkttype, pgpDigParams *ret, char **lints)
pgpPktTrust
struct pgpPktTrust_s pgpPktTrust
pgpPubkeyAlgo_e
pgpPubkeyAlgo_e
Definition rpmpgp.h:165
pgpPktKeyV3
struct pgpPktKeyV3_s * pgpPktKeyV3
pgpDigParamsVersion
int pgpDigParamsVersion(pgpDigParams digp)
pgpPktOnepass
struct pgpPktOnepass_s * pgpPktOnepass
pgpVerifySignature2
rpmRC pgpVerifySignature2(pgpDigParams key, pgpDigParams sig, DIGEST_CTX hashctx, char **lints)
pgpParsePkts
pgpArmor pgpParsePkts(const char *armor, uint8_t **pkt, size_t *pktlen)
pgpReadPkts
pgpArmor pgpReadPkts(const char *fn, uint8_t **pkt, size_t *pktlen)
pgpPktCdata
struct pgpPktCdata_s pgpPktCdata
pgpPubKeyLint
rpmRC pgpPubKeyLint(const uint8_t *pkts, size_t pktslen, char **explanation)
pgpCurveId_e
pgpCurveId_e
Definition rpmpgp.h:281
pgpCompressAlgo
enum pgpCompressAlgo_e pgpCompressAlgo
pgpArmor_e
pgpArmor_e
Definition rpmpgp.h:915
pgpPktKey
union pgpPktKey_u pgpPktKey
pgpHashAlgo_e
pgpHashAlgo_e
Definition rpmpgp.h:262
pgpSigType_e
pgpSigType_e
Definition rpmpgp.h:121
pgpDigParamsCmp
int pgpDigParamsCmp(pgpDigParams p1, pgpDigParams p2)
pgpArmorWrap
char * pgpArmorWrap(int atype, const unsigned char *s, size_t ns)
pgpArmorKey_e
pgpArmorKey_e
Definition rpmpgp.h:936
pgpPktSig
union pgpPktSig_u * pgpPktSig
pgpDigParamsAlgo
unsigned int pgpDigParamsAlgo(pgpDigParams digp, unsigned int algotype)
PGP_KEYID_LEN
#define PGP_KEYID_LEN
Definition rpmpgp.h:36
pgpSymkeyAlgo
enum pgpSymkeyAlgo_e pgpSymkeyAlgo
pgpPktLdata
struct pgpPktLdata_s pgpPktLdata
pgpDigParamsFree
pgpDigParams pgpDigParamsFree(pgpDigParams digp)
pgpPubkeyKeyID
int pgpPubkeyKeyID(const uint8_t *pkt, size_t pktlen, pgpKeyID_t keyid)
pgpTag_e
pgpTag_e
Definition rpmpgp.h:48
pgpSymkeyAlgo_e
pgpSymkeyAlgo_e
Definition rpmpgp.h:202
pgpSubType
enum pgpSubType_e pgpSubType
pgpPktEdata
struct pgpPktEdata_s pgpPktEdata
pgpDigParamsUserID
const char * pgpDigParamsUserID(pgpDigParams digp)
pgpPktUid
struct pgpPktUid_s pgpPktUid
pgpPrtParamsSubkeys
int pgpPrtParamsSubkeys(const uint8_t *pkts, size_t pktlen, pgpDigParams mainkey, pgpDigParams **subkeys, int *subkeysCount)
pgpIdentItem
char * pgpIdentItem(pgpDigParams digp)
pgpPubkeyFingerprint
int pgpPubkeyFingerprint(const uint8_t *pkt, size_t pktlen, uint8_t **fp, size_t *fplen)
pgpSubType_e
pgpSubType_e
Definition rpmpgp.h:418
pgpPktPubkey
struct pgpPktPubkey_s pgpPktPubkey
pgpPktSigV4
struct pgpPktSigV4_s * pgpPktSigV4
pgpCurveId
enum pgpCurveId_e pgpCurveId
PGPCOMPRESSALGO_NONE
@ PGPCOMPRESSALGO_NONE
Definition rpmpgp.h:233
PGPCOMPRESSALGO_BZIP2
@ PGPCOMPRESSALGO_BZIP2
Definition rpmpgp.h:236
PGPCOMPRESSALGO_ZLIB
@ PGPCOMPRESSALGO_ZLIB
Definition rpmpgp.h:235
PGPCOMPRESSALGO_ZIP
@ PGPCOMPRESSALGO_ZIP
Definition rpmpgp.h:234
PGPPUBKEYALGO_ELGAMAL
@ PGPPUBKEYALGO_ELGAMAL
Definition rpmpgp.h:173
PGPPUBKEYALGO_EC
@ PGPPUBKEYALGO_EC
Definition rpmpgp.h:171
PGPPUBKEYALGO_EDDSA
@ PGPPUBKEYALGO_EDDSA
Definition rpmpgp.h:175
PGPPUBKEYALGO_RSA_ENCRYPT
@ PGPPUBKEYALGO_RSA_ENCRYPT
Definition rpmpgp.h:167
PGPPUBKEYALGO_ELGAMAL_ENCRYPT
@ PGPPUBKEYALGO_ELGAMAL_ENCRYPT
Definition rpmpgp.h:169
PGPPUBKEYALGO_RSA
@ PGPPUBKEYALGO_RSA
Definition rpmpgp.h:166
PGPPUBKEYALGO_ECDSA
@ PGPPUBKEYALGO_ECDSA
Definition rpmpgp.h:172
PGPPUBKEYALGO_DH
@ PGPPUBKEYALGO_DH
Definition rpmpgp.h:174
PGPPUBKEYALGO_RSA_SIGN
@ PGPPUBKEYALGO_RSA_SIGN
Definition rpmpgp.h:168
PGPPUBKEYALGO_DSA
@ PGPPUBKEYALGO_DSA
Definition rpmpgp.h:170
PGPCURVE_ED25519
@ PGPCURVE_ED25519
Definition rpmpgp.h:287
PGPCURVE_NIST_P_384
@ PGPCURVE_NIST_P_384
Definition rpmpgp.h:283
PGPCURVE_NIST_P_521
@ PGPCURVE_NIST_P_521
Definition rpmpgp.h:284
PGPCURVE_BRAINPOOL_P256R1
@ PGPCURVE_BRAINPOOL_P256R1
Definition rpmpgp.h:285
PGPCURVE_BRAINPOOL_P512R1
@ PGPCURVE_BRAINPOOL_P512R1
Definition rpmpgp.h:286
PGPCURVE_NIST_P_256
@ PGPCURVE_NIST_P_256
Definition rpmpgp.h:282
PGPCURVE_CURVE25519
@ PGPCURVE_CURVE25519
Definition rpmpgp.h:288
PGPARMOR_PRIVKEY
@ PGPARMOR_PRIVKEY
Definition rpmpgp.h:930
PGPARMOR_MESSAGE
@ PGPARMOR_MESSAGE
Definition rpmpgp.h:925
PGPARMOR_PUBKEY
@ PGPARMOR_PUBKEY
Definition rpmpgp.h:926
PGPARMOR_SIGNED_MESSAGE
@ PGPARMOR_SIGNED_MESSAGE
Definition rpmpgp.h:928
PGPARMOR_SIGNATURE
@ PGPARMOR_SIGNATURE
Definition rpmpgp.h:927
PGPARMOR_FILE
@ PGPARMOR_FILE
Definition rpmpgp.h:929
PGPARMOR_SECKEY
@ PGPARMOR_SECKEY
Definition rpmpgp.h:931
PGPHASHALGO_SHA384
@ PGPHASHALGO_SHA384
Definition rpmpgp.h:270
PGPHASHALGO_SHA256
@ PGPHASHALGO_SHA256
Definition rpmpgp.h:269
PGPHASHALGO_HAVAL_5_160
@ PGPHASHALGO_HAVAL_5_160
Definition rpmpgp.h:268
PGPHASHALGO_MD2
@ PGPHASHALGO_MD2
Definition rpmpgp.h:266
PGPHASHALGO_RIPEMD160
@ PGPHASHALGO_RIPEMD160
Definition rpmpgp.h:265
PGPHASHALGO_TIGER192
@ PGPHASHALGO_TIGER192
Definition rpmpgp.h:267
PGPHASHALGO_SHA512
@ PGPHASHALGO_SHA512
Definition rpmpgp.h:271
PGPHASHALGO_MD5
@ PGPHASHALGO_MD5
Definition rpmpgp.h:263
PGPHASHALGO_SHA224
@ PGPHASHALGO_SHA224
Definition rpmpgp.h:272
PGPHASHALGO_SHA1
@ PGPHASHALGO_SHA1
Definition rpmpgp.h:264
PGPSIGTYPE_CASUAL_CERT
@ PGPSIGTYPE_CASUAL_CERT
Definition rpmpgp.h:129
PGPSIGTYPE_STANDALONE
@ PGPSIGTYPE_STANDALONE
Definition rpmpgp.h:124
PGPSIGTYPE_GENERIC_CERT
@ PGPSIGTYPE_GENERIC_CERT
Definition rpmpgp.h:125
PGPSIGTYPE_SUBKEY_BINDING
@ PGPSIGTYPE_SUBKEY_BINDING
Definition rpmpgp.h:133
PGPSIGTYPE_KEY_REVOKE
@ PGPSIGTYPE_KEY_REVOKE
Definition rpmpgp.h:135
PGPSIGTYPE_PERSONA_CERT
@ PGPSIGTYPE_PERSONA_CERT
Definition rpmpgp.h:127
PGPSIGTYPE_SIGNED_KEY
@ PGPSIGTYPE_SIGNED_KEY
Definition rpmpgp.h:134
PGPSIGTYPE_SUBKEY_REVOKE
@ PGPSIGTYPE_SUBKEY_REVOKE
Definition rpmpgp.h:136
PGPSIGTYPE_TEXT
@ PGPSIGTYPE_TEXT
Definition rpmpgp.h:123
PGPSIGTYPE_CERT_REVOKE
@ PGPSIGTYPE_CERT_REVOKE
Definition rpmpgp.h:137
PGPSIGTYPE_BINARY
@ PGPSIGTYPE_BINARY
Definition rpmpgp.h:122
PGPSIGTYPE_TIMESTAMP
@ PGPSIGTYPE_TIMESTAMP
Definition rpmpgp.h:138
PGPSIGTYPE_POSITIVE_CERT
@ PGPSIGTYPE_POSITIVE_CERT
Definition rpmpgp.h:131
PGPARMORKEY_COMMENT
@ PGPARMORKEY_COMMENT
Definition rpmpgp.h:938
PGPARMORKEY_MESSAGEID
@ PGPARMORKEY_MESSAGEID
Definition rpmpgp.h:939
PGPARMORKEY_HASH
@ PGPARMORKEY_HASH
Definition rpmpgp.h:940
PGPARMORKEY_CHARSET
@ PGPARMORKEY_CHARSET
Definition rpmpgp.h:941
PGPARMORKEY_VERSION
@ PGPARMORKEY_VERSION
Definition rpmpgp.h:937
PGPTAG_COMPRESSED_DATA
@ PGPTAG_COMPRESSED_DATA
Definition rpmpgp.h:57
PGPTAG_PRIVATE_60
@ PGPTAG_PRIVATE_60
Definition rpmpgp.h:68
PGPTAG_MARKER
@ PGPTAG_MARKER
Definition rpmpgp.h:59
PGPTAG_SYMMETRIC_DATA
@ PGPTAG_SYMMETRIC_DATA
Definition rpmpgp.h:58
PGPTAG_USER_ID
@ PGPTAG_USER_ID
Definition rpmpgp.h:62
PGPTAG_ENCRYPTED_MDC
@ PGPTAG_ENCRYPTED_MDC
Definition rpmpgp.h:66
PGPTAG_SECRET_SUBKEY
@ PGPTAG_SECRET_SUBKEY
Definition rpmpgp.h:56
PGPTAG_PRIVATE_62
@ PGPTAG_PRIVATE_62
Definition rpmpgp.h:70
PGPTAG_ONEPASS_SIGNATURE
@ PGPTAG_ONEPASS_SIGNATURE
Definition rpmpgp.h:53
PGPTAG_TRUST
@ PGPTAG_TRUST
Definition rpmpgp.h:61
PGPTAG_PUBLIC_KEY
@ PGPTAG_PUBLIC_KEY
Definition rpmpgp.h:55
PGPTAG_RESERVED
@ PGPTAG_RESERVED
Definition rpmpgp.h:49
PGPTAG_COMMENT_OLD
@ PGPTAG_COMMENT_OLD
Definition rpmpgp.h:64
PGPTAG_PHOTOID
@ PGPTAG_PHOTOID
Definition rpmpgp.h:65
PGPTAG_LITERAL_DATA
@ PGPTAG_LITERAL_DATA
Definition rpmpgp.h:60
PGPTAG_SIGNATURE
@ PGPTAG_SIGNATURE
Definition rpmpgp.h:51
PGPTAG_PUBLIC_SESSION_KEY
@ PGPTAG_PUBLIC_SESSION_KEY
Definition rpmpgp.h:50
PGPTAG_SYMMETRIC_SESSION_KEY
@ PGPTAG_SYMMETRIC_SESSION_KEY
Definition rpmpgp.h:52
PGPTAG_COMMENT
@ PGPTAG_COMMENT
Definition rpmpgp.h:69
PGPTAG_SECRET_KEY
@ PGPTAG_SECRET_KEY
Definition rpmpgp.h:54
PGPTAG_PUBLIC_SUBKEY
@ PGPTAG_PUBLIC_SUBKEY
Definition rpmpgp.h:63
PGPTAG_MDC
@ PGPTAG_MDC
Definition rpmpgp.h:67
PGPTAG_CONTROL
@ PGPTAG_CONTROL
Definition rpmpgp.h:71
PGPSYMKEYALGO_DES_SK
@ PGPSYMKEYALGO_DES_SK
Definition rpmpgp.h:209
PGPSYMKEYALGO_BLOWFISH
@ PGPSYMKEYALGO_BLOWFISH
Definition rpmpgp.h:207
PGPSYMKEYALGO_PLAINTEXT
@ PGPSYMKEYALGO_PLAINTEXT
Definition rpmpgp.h:203
PGPSYMKEYALGO_AES_192
@ PGPSYMKEYALGO_AES_192
Definition rpmpgp.h:211
PGPSYMKEYALGO_NOENCRYPT
@ PGPSYMKEYALGO_NOENCRYPT
Definition rpmpgp.h:214
PGPSYMKEYALGO_AES_256
@ PGPSYMKEYALGO_AES_256
Definition rpmpgp.h:212
PGPSYMKEYALGO_TWOFISH
@ PGPSYMKEYALGO_TWOFISH
Definition rpmpgp.h:213
PGPSYMKEYALGO_TRIPLE_DES
@ PGPSYMKEYALGO_TRIPLE_DES
Definition rpmpgp.h:205
PGPSYMKEYALGO_CAST5
@ PGPSYMKEYALGO_CAST5
Definition rpmpgp.h:206
PGPSYMKEYALGO_SAFER
@ PGPSYMKEYALGO_SAFER
Definition rpmpgp.h:208
PGPSYMKEYALGO_IDEA
@ PGPSYMKEYALGO_IDEA
Definition rpmpgp.h:204
PGPSYMKEYALGO_AES_128
@ PGPSYMKEYALGO_AES_128
Definition rpmpgp.h:210
PGPSUBTYPE_EMBEDDED_SIG
@ PGPSUBTYPE_EMBEDDED_SIG
Definition rpmpgp.h:442
PGPSUBTYPE_EXPORTABLE_CERT
@ PGPSUBTYPE_EXPORTABLE_CERT
Definition rpmpgp.h:422
PGPSUBTYPE_ARR
@ PGPSUBTYPE_ARR
Definition rpmpgp.h:427
PGPSUBTYPE_NOTATION
@ PGPSUBTYPE_NOTATION
Definition rpmpgp.h:431
PGPSUBTYPE_ISSUER_KEYID
@ PGPSUBTYPE_ISSUER_KEYID
Definition rpmpgp.h:430
PGPSUBTYPE_REVOCABLE
@ PGPSUBTYPE_REVOCABLE
Definition rpmpgp.h:425
PGPSUBTYPE_POLICY_URL
@ PGPSUBTYPE_POLICY_URL
Definition rpmpgp.h:437
PGPSUBTYPE_FEATURES
@ PGPSUBTYPE_FEATURES
Definition rpmpgp.h:441
PGPSUBTYPE_TRUST_SIG
@ PGPSUBTYPE_TRUST_SIG
Definition rpmpgp.h:423
PGPSUBTYPE_PREFER_SYMKEY
@ PGPSUBTYPE_PREFER_SYMKEY
Definition rpmpgp.h:428
PGPSUBTYPE_SIG_EXPIRE_TIME
@ PGPSUBTYPE_SIG_EXPIRE_TIME
Definition rpmpgp.h:421
PGPSUBTYPE_INTERNAL_104
@ PGPSUBTYPE_INTERNAL_104
Definition rpmpgp.h:448
PGPSUBTYPE_SIGNER_USERID
@ PGPSUBTYPE_SIGNER_USERID
Definition rpmpgp.h:439
PGPSUBTYPE_PREFER_COMPRESS
@ PGPSUBTYPE_PREFER_COMPRESS
Definition rpmpgp.h:433
PGPSUBTYPE_KEY_EXPIRE_TIME
@ PGPSUBTYPE_KEY_EXPIRE_TIME
Definition rpmpgp.h:426
PGPSUBTYPE_REVOKE_KEY
@ PGPSUBTYPE_REVOKE_KEY
Definition rpmpgp.h:429
PGPSUBTYPE_INTERNAL_101
@ PGPSUBTYPE_INTERNAL_101
Definition rpmpgp.h:445
PGPSUBTYPE_PREFER_HASH
@ PGPSUBTYPE_PREFER_HASH
Definition rpmpgp.h:432
PGPSUBTYPE_NONE
@ PGPSUBTYPE_NONE
Definition rpmpgp.h:419
PGPSUBTYPE_SIG_CREATE_TIME
@ PGPSUBTYPE_SIG_CREATE_TIME
Definition rpmpgp.h:420
PGPSUBTYPE_REVOKE_REASON
@ PGPSUBTYPE_REVOKE_REASON
Definition rpmpgp.h:440
PGPSUBTYPE_KEYSERVER_PREFERS
@ PGPSUBTYPE_KEYSERVER_PREFERS
Definition rpmpgp.h:434
PGPSUBTYPE_CRITICAL
@ PGPSUBTYPE_CRITICAL
Definition rpmpgp.h:456
PGPSUBTYPE_INTERNAL_110
@ PGPSUBTYPE_INTERNAL_110
Definition rpmpgp.h:454
PGPSUBTYPE_INTERNAL_109
@ PGPSUBTYPE_INTERNAL_109
Definition rpmpgp.h:453
PGPSUBTYPE_INTERNAL_108
@ PGPSUBTYPE_INTERNAL_108
Definition rpmpgp.h:452
PGPSUBTYPE_INTERNAL_105
@ PGPSUBTYPE_INTERNAL_105
Definition rpmpgp.h:449
PGPSUBTYPE_INTERNAL_100
@ PGPSUBTYPE_INTERNAL_100
Definition rpmpgp.h:444
PGPSUBTYPE_PREFER_KEYSERVER
@ PGPSUBTYPE_PREFER_KEYSERVER
Definition rpmpgp.h:435
PGPSUBTYPE_INTERNAL_107
@ PGPSUBTYPE_INTERNAL_107
Definition rpmpgp.h:451
PGPSUBTYPE_REGEX
@ PGPSUBTYPE_REGEX
Definition rpmpgp.h:424
PGPSUBTYPE_PRIMARY_USERID
@ PGPSUBTYPE_PRIMARY_USERID
Definition rpmpgp.h:436
PGPSUBTYPE_INTERNAL_102
@ PGPSUBTYPE_INTERNAL_102
Definition rpmpgp.h:446
PGPSUBTYPE_INTERNAL_103
@ PGPSUBTYPE_INTERNAL_103
Definition rpmpgp.h:447
PGPSUBTYPE_INTERNAL_106
@ PGPSUBTYPE_INTERNAL_106
Definition rpmpgp.h:450
PGPSUBTYPE_KEY_FLAGS
@ PGPSUBTYPE_KEY_FLAGS
Definition rpmpgp.h:438
rpmRC
enum rpmRC_e rpmRC
pgpPktSymkey
struct pgpPktSymkey_s pgpPktSymkey
rpmstring.h
rpmtypes.h
pgpPktCdata_s
Definition rpmpgp.h:770
pgpPktEdata_s
Definition rpmpgp.h:809
pgpPktKeyV3_s
Definition rpmpgp.h:628
pgpPktKeyV3_s::version
uint8_t version
Definition rpmpgp.h:629
pgpPktKeyV3_s::pubkey_algo
uint8_t pubkey_algo
Definition rpmpgp.h:632
pgpPktKeyV3_s::time
pgpTime_t time
Definition rpmpgp.h:630
pgpPktKeyV3_s::valid
uint8_t valid[2]
Definition rpmpgp.h:631
pgpPktKeyV4_s
Definition rpmpgp.h:671
pgpPktKeyV4_s::pubkey_algo
uint8_t pubkey_algo
Definition rpmpgp.h:674
pgpPktKeyV4_s::time
pgpTime_t time
Definition rpmpgp.h:673
pgpPktKeyV4_s::version
uint8_t version
Definition rpmpgp.h:672
pgpPktLdata_s
Definition rpmpgp.h:860
pgpPktOnepass_s
Definition rpmpgp.h:547
pgpPktOnepass_s::sigtype
uint8_t sigtype
Definition rpmpgp.h:549
pgpPktOnepass_s::pubkey_algo
uint8_t pubkey_algo
Definition rpmpgp.h:551
pgpPktOnepass_s::signid
pgpKeyID_t signid
Definition rpmpgp.h:552
pgpPktOnepass_s::version
uint8_t version
Definition rpmpgp.h:548
pgpPktOnepass_s::hash_algo
uint8_t hash_algo
Definition rpmpgp.h:550
pgpPktPubkey_s
Definition rpmpgp.h:108
pgpPktPubkey_s::algo
uint8_t algo
Definition rpmpgp.h:111
pgpPktPubkey_s::version
uint8_t version
Definition rpmpgp.h:109
pgpPktPubkey_s::keyid
pgpKeyID_t keyid
Definition rpmpgp.h:110
pgpPktSigV3_s
Definition rpmpgp.h:312
pgpPktSigV3_s::version
uint8_t version
Definition rpmpgp.h:313
pgpPktSigV3_s::time
pgpTime_t time
Definition rpmpgp.h:316
pgpPktSigV3_s::signid
pgpKeyID_t signid
Definition rpmpgp.h:317
pgpPktSigV3_s::signhash16
uint8_t signhash16[2]
Definition rpmpgp.h:320
pgpPktSigV3_s::sigtype
uint8_t sigtype
Definition rpmpgp.h:315
pgpPktSigV3_s::hashlen
uint8_t hashlen
Definition rpmpgp.h:314
pgpPktSigV3_s::pubkey_algo
uint8_t pubkey_algo
Definition rpmpgp.h:318
pgpPktSigV3_s::hash_algo
uint8_t hash_algo
Definition rpmpgp.h:319
pgpPktSigV4_s
Definition rpmpgp.h:344
pgpPktSigV4_s::hash_algo
uint8_t hash_algo
Definition rpmpgp.h:348
pgpPktSigV4_s::version
uint8_t version
Definition rpmpgp.h:345
pgpPktSigV4_s::hashlen
uint8_t hashlen[2]
Definition rpmpgp.h:349
pgpPktSigV4_s::sigtype
uint8_t sigtype
Definition rpmpgp.h:346
pgpPktSigV4_s::pubkey_algo
uint8_t pubkey_algo
Definition rpmpgp.h:347
pgpPktSymkey_s
Definition rpmpgp.h:512
pgpPktSymkey_s::version
uint8_t version
Definition rpmpgp.h:513
pgpPktTrust_s
Definition rpmpgp.h:879
pgpPktUid_s
Definition rpmpgp.h:893
pgpPktKey_u
Definition rpmpgp.h:741
pgpPktPre_u
Definition rpmpgp.h:899
pgpPktPre_u::symkey
pgpPktSymkey symkey
Definition rpmpgp.h:902
pgpPktPre_u::tdata
pgpPktTrust tdata
Definition rpmpgp.h:909
pgpPktPre_u::pubkey
pgpPktPubkey pubkey
Definition rpmpgp.h:900
pgpPktPre_u::uid
pgpPktUid uid
Definition rpmpgp.h:910
pgpPktPre_u::cdata
pgpPktCdata cdata
Definition rpmpgp.h:905
pgpPktPre_u::sig
pgpPktSig sig
Definition rpmpgp.h:901
pgpPktPre_u::onepass
pgpPktOnepass onepass
Definition rpmpgp.h:903
pgpPktPre_u::edata
pgpPktEdata edata
Definition rpmpgp.h:906
pgpPktPre_u::ldata
pgpPktLdata ldata
Definition rpmpgp.h:908
pgpPktPre_u::key
pgpPktKey key
Definition rpmpgp.h:904
pgpPktSig_u
Definition rpmpgp.h:479