rpm: rpmpgp.h Source File

rpm 4.16.1.3

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
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
29 typedef struct DIGEST_CTX_s * DIGEST_CTX;
30 typedef struct rpmDigestBundle_s * rpmDigestBundle;
31
34 typedef struct pgpDig_s * pgpDig;
35
38 typedef struct pgpDigParams_s * pgpDigParams;
39
40 typedef uint8_t pgpKeyID_t[8];
41 typedef uint8_t pgpTime_t[4];
42
50 typedef enum pgpTag_e {
51 PGPTAG_RESERVED = 0,
52 PGPTAG_PUBLIC_SESSION_KEY = 1,
53 PGPTAG_SIGNATURE = 2,
54 PGPTAG_SYMMETRIC_SESSION_KEY= 3,
55 PGPTAG_ONEPASS_SIGNATURE = 4,
56 PGPTAG_SECRET_KEY = 5,
57 PGPTAG_PUBLIC_KEY = 6,
58 PGPTAG_SECRET_SUBKEY = 7,
59 PGPTAG_COMPRESSED_DATA = 8,
60 PGPTAG_SYMMETRIC_DATA = 9,
61 PGPTAG_MARKER = 10,
62 PGPTAG_LITERAL_DATA = 11,
63 PGPTAG_TRUST = 12,
64 PGPTAG_USER_ID = 13,
65 PGPTAG_PUBLIC_SUBKEY = 14,
66 PGPTAG_COMMENT_OLD = 16,
67 PGPTAG_PHOTOID = 17,
68 PGPTAG_ENCRYPTED_MDC = 18,
69 PGPTAG_MDC = 19,
70 PGPTAG_PRIVATE_60 = 60,
71 PGPTAG_COMMENT = 61,
72 PGPTAG_PRIVATE_62 = 62,
73 PGPTAG_CONTROL = 63
74 } pgpTag;
75
110 typedef struct pgpPktPubkey_s {
111 uint8_t version;
112 pgpKeyID_t keyid;
113 uint8_t algo;
114 } pgpPktPubkey;
115
116
123 typedef enum pgpSigType_e {
124 PGPSIGTYPE_BINARY = 0x00,
125 PGPSIGTYPE_TEXT = 0x01,
126 PGPSIGTYPE_STANDALONE = 0x02,
127 PGPSIGTYPE_GENERIC_CERT = 0x10,
129 PGPSIGTYPE_PERSONA_CERT = 0x11,
131 PGPSIGTYPE_CASUAL_CERT = 0x12,
133 PGPSIGTYPE_POSITIVE_CERT = 0x13,
135 PGPSIGTYPE_SUBKEY_BINDING = 0x18,
136 PGPSIGTYPE_SIGNED_KEY = 0x1F,
137 PGPSIGTYPE_KEY_REVOKE = 0x20,
138 PGPSIGTYPE_SUBKEY_REVOKE = 0x28,
139 PGPSIGTYPE_CERT_REVOKE = 0x30,
140 PGPSIGTYPE_TIMESTAMP = 0x40
141 } pgpSigType;
142
167 typedef enum pgpPubkeyAlgo_e {
168 PGPPUBKEYALGO_RSA = 1,
169 PGPPUBKEYALGO_RSA_ENCRYPT = 2,
170 PGPPUBKEYALGO_RSA_SIGN = 3,
171 PGPPUBKEYALGO_ELGAMAL_ENCRYPT = 16,
172 PGPPUBKEYALGO_DSA = 17,
173 PGPPUBKEYALGO_EC = 18,
174 PGPPUBKEYALGO_ECDSA = 19,
175 PGPPUBKEYALGO_ELGAMAL = 20,
176 PGPPUBKEYALGO_DH = 21,
177 PGPPUBKEYALGO_EDDSA = 22
178 } pgpPubkeyAlgo;
179
204 typedef enum pgpSymkeyAlgo_e {
205 PGPSYMKEYALGO_PLAINTEXT = 0,
206 PGPSYMKEYALGO_IDEA = 1,
207 PGPSYMKEYALGO_TRIPLE_DES = 2,
208 PGPSYMKEYALGO_CAST5 = 3,
209 PGPSYMKEYALGO_BLOWFISH = 4,
210 PGPSYMKEYALGO_SAFER = 5,
211 PGPSYMKEYALGO_DES_SK = 6,
212 PGPSYMKEYALGO_AES_128 = 7,
213 PGPSYMKEYALGO_AES_192 = 8,
214 PGPSYMKEYALGO_AES_256 = 9,
215 PGPSYMKEYALGO_TWOFISH = 10,
216 PGPSYMKEYALGO_NOENCRYPT = 110
217 } pgpSymkeyAlgo;
218
234 typedef enum pgpCompressAlgo_e {
235 PGPCOMPRESSALGO_NONE = 0,
236 PGPCOMPRESSALGO_ZIP = 1,
237 PGPCOMPRESSALGO_ZLIB = 2,
238 PGPCOMPRESSALGO_BZIP2 = 3
239 } pgpCompressAlgo;
240
264 typedef enum pgpHashAlgo_e {
265 PGPHASHALGO_MD5 = 1,
266 PGPHASHALGO_SHA1 = 2,
267 PGPHASHALGO_RIPEMD160 = 3,
268 PGPHASHALGO_MD2 = 5,
269 PGPHASHALGO_TIGER192 = 6,
270 PGPHASHALGO_HAVAL_5_160 = 7,
271 PGPHASHALGO_SHA256 = 8,
272 PGPHASHALGO_SHA384 = 9,
273 PGPHASHALGO_SHA512 = 10,
274 PGPHASHALGO_SHA224 = 11,
275 } pgpHashAlgo;
276
283 typedef enum pgpCurveId_e {
284 PGPCURVE_NIST_P_256 = 1,
285 PGPCURVE_NIST_P_384 = 2,
286 PGPCURVE_NIST_P_521 = 3,
287 PGPCURVE_BRAINPOOL_P256R1 = 4,
288 PGPCURVE_BRAINPOOL_P512R1 = 5,
289 PGPCURVE_ED25519 = 6,
290 PGPCURVE_CURVE25519 = 7,
291 } pgpCurveId;
292
314 typedef struct pgpPktSigV3_s {
315 uint8_t version;
316 uint8_t hashlen;
317 uint8_t sigtype;
318 pgpTime_t time;
319 pgpKeyID_t signid;
320 uint8_t pubkey_algo;
321 uint8_t hash_algo;
322 uint8_t signhash16[2];
323 } * pgpPktSigV3;
324
346 typedef struct pgpPktSigV4_s {
347 uint8_t version;
348 uint8_t sigtype;
349 uint8_t pubkey_algo;
350 uint8_t hash_algo;
351 uint8_t hashlen[2];
352 } * pgpPktSigV4;
353
420 typedef enum pgpSubType_e {
421 PGPSUBTYPE_NONE = 0,
422 PGPSUBTYPE_SIG_CREATE_TIME = 2,
423 PGPSUBTYPE_SIG_EXPIRE_TIME = 3,
424 PGPSUBTYPE_EXPORTABLE_CERT = 4,
425 PGPSUBTYPE_TRUST_SIG = 5,
426 PGPSUBTYPE_REGEX = 6,
427 PGPSUBTYPE_REVOCABLE = 7,
428 PGPSUBTYPE_KEY_EXPIRE_TIME = 9,
429 PGPSUBTYPE_ARR = 10,
430 PGPSUBTYPE_PREFER_SYMKEY = 11,
431 PGPSUBTYPE_REVOKE_KEY = 12,
432 PGPSUBTYPE_ISSUER_KEYID = 16,
433 PGPSUBTYPE_NOTATION = 20,
434 PGPSUBTYPE_PREFER_HASH = 21,
435 PGPSUBTYPE_PREFER_COMPRESS = 22,
436 PGPSUBTYPE_KEYSERVER_PREFERS= 23,
437 PGPSUBTYPE_PREFER_KEYSERVER = 24,
438 PGPSUBTYPE_PRIMARY_USERID = 25,
439 PGPSUBTYPE_POLICY_URL = 26,
440 PGPSUBTYPE_KEY_FLAGS = 27,
441 PGPSUBTYPE_SIGNER_USERID = 28,
442 PGPSUBTYPE_REVOKE_REASON = 29,
443 PGPSUBTYPE_FEATURES = 30,
444 PGPSUBTYPE_EMBEDDED_SIG = 32,
446 PGPSUBTYPE_INTERNAL_100 = 100,
447 PGPSUBTYPE_INTERNAL_101 = 101,
448 PGPSUBTYPE_INTERNAL_102 = 102,
449 PGPSUBTYPE_INTERNAL_103 = 103,
450 PGPSUBTYPE_INTERNAL_104 = 104,
451 PGPSUBTYPE_INTERNAL_105 = 105,
452 PGPSUBTYPE_INTERNAL_106 = 106,
453 PGPSUBTYPE_INTERNAL_107 = 107,
454 PGPSUBTYPE_INTERNAL_108 = 108,
455 PGPSUBTYPE_INTERNAL_109 = 109,
456 PGPSUBTYPE_INTERNAL_110 = 110,
458 PGPSUBTYPE_CRITICAL = 128
459 } pgpSubType;
460
481 typedef union pgpPktSig_u {
482 struct pgpPktSigV3_s v3;
483 struct pgpPktSigV4_s v4;
484 } * pgpPktSig;
485
514 typedef struct pgpPktSymkey_s {
515 uint8_t version;
516 uint8_t symkey_algo;
517 uint8_t s2k[1];
518 } pgpPktSymkey;
519
549 typedef struct pgpPktOnepass_s {
550 uint8_t version;
551 uint8_t sigtype;
552 uint8_t hash_algo;
553 uint8_t pubkey_algo;
554 pgpKeyID_t signid;
555 uint8_t nested;
556 } * pgpPktOnepass;
557
630 typedef struct pgpPktKeyV3_s {
631 uint8_t version;
632 pgpTime_t time;
633 uint8_t valid[2];
634 uint8_t pubkey_algo;
635 } * pgpPktKeyV3;
636
673 typedef struct pgpPktKeyV4_s {
674 uint8_t version;
675 pgpTime_t time;
676 uint8_t pubkey_algo;
677 } * pgpPktKeyV4;
678
743 typedef union pgpPktKey_u {
744 struct pgpPktKeyV3_s v3;
745 struct pgpPktKeyV4_s v4;
746 } pgpPktKey;
747
772 typedef struct pgpPktCdata_s {
773 uint8_t compressalgo;
774 uint8_t data[1];
775 } pgpPktCdata;
776
811 typedef struct pgpPktEdata_s {
812 uint8_t data[1];
813 } pgpPktEdata;
814
862 typedef struct pgpPktLdata_s {
863 uint8_t format;
864 uint8_t filenamelen;
865 uint8_t filename[1];
866 } pgpPktLdata;
867
881 typedef struct pgpPktTrust_s {
882 uint8_t flag;
883 } pgpPktTrust;
884
895 typedef struct pgpPktUid_s {
896 uint8_t userid[1];
897 } pgpPktUid;
898
901 union pgpPktPre_u {
902 pgpPktPubkey pubkey;
903 pgpPktSig sig;
904 pgpPktSymkey symkey;
905 pgpPktOnepass onepass;
906 pgpPktKey key;
907 pgpPktCdata cdata;
908 pgpPktEdata edata;
910 pgpPktLdata ldata;
911 pgpPktTrust tdata;
912 pgpPktUid uid;
913 };
914
917 typedef enum pgpArmor_e {
918 PGPARMOR_ERR_CRC_CHECK = -7,
919 PGPARMOR_ERR_BODY_DECODE = -6,
920 PGPARMOR_ERR_CRC_DECODE = -5,
921 PGPARMOR_ERR_NO_END_PGP = -4,
922 PGPARMOR_ERR_UNKNOWN_PREAMBLE_TAG = -3,
923 PGPARMOR_ERR_UNKNOWN_ARMOR_TYPE = -2,
924 PGPARMOR_ERR_NO_BEGIN_PGP = -1,
925 #define PGPARMOR_ERROR PGPARMOR_ERR_NO_BEGIN_PGP
926 PGPARMOR_NONE = 0,
927 PGPARMOR_MESSAGE = 1,
928 PGPARMOR_PUBKEY = 2,
929 PGPARMOR_SIGNATURE = 3,
930 PGPARMOR_SIGNED_MESSAGE = 4,
931 PGPARMOR_FILE = 5,
932 PGPARMOR_PRIVKEY = 6,
933 PGPARMOR_SECKEY = 7
934 } pgpArmor;
935
938 typedef enum pgpArmorKey_e {
939 PGPARMORKEY_VERSION = 1,
940 PGPARMORKEY_COMMENT = 2,
941 PGPARMORKEY_MESSAGEID = 3,
942 PGPARMORKEY_HASH = 4,
943 PGPARMORKEY_CHARSET = 5
944 } pgpArmorKey;
945
946 typedef enum pgpValType_e {
947 PGPVAL_TAG = 1,
948 PGPVAL_ARMORBLOCK = 2,
949 PGPVAL_ARMORKEY = 3,
950 PGPVAL_SIGTYPE = 4,
951 PGPVAL_SUBTYPE = 5,
952 PGPVAL_PUBKEYALGO = 6,
953 PGPVAL_SYMKEYALGO = 7,
954 PGPVAL_COMPRESSALGO = 8,
955 PGPVAL_HASHALGO = 9,
956 PGPVAL_SERVERPREFS = 10,
957 } pgpValType;
958
962 enum rpmDigestFlags_e {
963 RPMDIGEST_NONE = 0
964 };
965
966 typedef rpmFlags rpmDigestFlags;
967
974 const char * pgpValString(pgpValType type, uint8_t val);
975
982 static inline
983 unsigned int pgpGrab(const uint8_t *s, size_t nbytes)
984 {
985 size_t i = 0;
986 size_t nb = (nbytes <= sizeof(i) ? nbytes : sizeof(i));
987 while (nb--)
988 i = (i << 8) | *s++;
989 return i;
990 }
991
998 char * pgpHexStr(const uint8_t *p, size_t plen);
999
1008 int pgpPubkeyFingerprint(const uint8_t * pkt, size_t pktlen,
1009 uint8_t **fp, size_t *fplen);
1010
1018 int pgpPubkeyKeyID(const uint8_t * pkt, size_t pktlen, pgpKeyID_t keyid);
1019
1028 int pgpPrtParams(const uint8_t *pkts, size_t pktlen, unsigned int pkttype,
1029 pgpDigParams * ret);
1030
1040 int pgpPrtParamsSubkeys(const uint8_t *pkts, size_t pktlen,
1041 pgpDigParams mainkey, pgpDigParams **subkeys,
1042 int *subkeysCount);
1051 int pgpPrtPkts(const uint8_t *pkts, size_t pktlen, pgpDig dig, int printing);
1052
1060 pgpArmor pgpReadPkts(const char * fn, uint8_t ** pkt, size_t * pktlen);
1061
1069 pgpArmor pgpParsePkts(const char *armor, uint8_t ** pkt, size_t * pktlen);
1070
1083 int pgpPubKeyCertLen(const uint8_t *pkts, size_t pktslen, size_t *certlen);
1084
1092 char * pgpArmorWrap(int atype, const unsigned char * s, size_t ns);
1093
1098 pgpDig pgpNewDig(void);
1099
1104 void pgpCleanDig(pgpDig dig);
1105
1111 pgpDig pgpFreeDig(pgpDig dig);
1112
1119 pgpDigParams pgpDigGetParams(pgpDig dig, unsigned int pkttype);
1120
1127 int pgpDigParamsCmp(pgpDigParams p1, pgpDigParams p2);
1128
1135 unsigned int pgpDigParamsAlgo(pgpDigParams digp, unsigned int algotype);
1136
1142 pgpDigParams pgpDigParamsFree(pgpDigParams digp);
1143
1151 rpmRC pgpVerifySignature(pgpDigParams key, pgpDigParams sig, DIGEST_CTX hashctx);
1152
1161 rpmRC pgpVerifySig(pgpDig dig, DIGEST_CTX hashctx);
1162
1168 char *pgpIdentItem(pgpDigParams digp);
1169
1177 int rpmInitCrypto(void);
1178
1182 int rpmFreeCrypto(void);
1183
1189 DIGEST_CTX rpmDigestDup(DIGEST_CTX octx);
1190
1196 size_t rpmDigestLength(int hashalgo);
1197
1205 DIGEST_CTX rpmDigestInit(int hashalgo, rpmDigestFlags flags);
1206
1214 int rpmDigestUpdate(DIGEST_CTX ctx, const void * data, size_t len);
1215
1227 int rpmDigestFinal(DIGEST_CTX ctx,
1228 void ** datap,
1229 size_t * lenp, int asAscii);
1230
1235 rpmDigestBundle rpmDigestBundleNew(void);
1236
1242 rpmDigestBundle rpmDigestBundleFree(rpmDigestBundle bundle);
1243
1252 int rpmDigestBundleAdd(rpmDigestBundle bundle, int algo,
1253 rpmDigestFlags flags);
1254
1263 int rpmDigestBundleAddID(rpmDigestBundle bundle, int algo, int id,
1264 rpmDigestFlags flags);
1265
1273 int rpmDigestBundleUpdate(rpmDigestBundle bundle, const void *data, size_t len);
1274
1285 int rpmDigestBundleFinal(rpmDigestBundle bundle, int id,
1286 void ** datap, size_t * lenp, int asAscii);
1287
1294 DIGEST_CTX rpmDigestBundleDupCtx(rpmDigestBundle bundle, int id);
1295
1296 #ifdef __cplusplus
1297 }
1298 #endif
1299
1300 #endif /* H_RPMPGP */
pgpPktCdata_s
5.6.
Definition: rpmpgp.h:772
pgpArmor
enum pgpArmor_e pgpArmor
pgpPktOnepass_s::signid
pgpKeyID_t signid
Definition: rpmpgp.h:554
pgpPrtParams
int pgpPrtParams(const uint8_t *pkts, size_t pktlen, unsigned int pkttype, pgpDigParams *ret)
Parse a OpenPGP packet(s).
pgpPktEdata
struct pgpPktEdata_s pgpPktEdata
5.7.
PGPVAL_TAG
@ PGPVAL_TAG
Definition: rpmpgp.h:947
pgpPktSig_u
5.2.
Definition: rpmpgp.h:481
PGPVAL_SIGTYPE
@ PGPVAL_SIGTYPE
Definition: rpmpgp.h:950
pgpPktCdata_s::compressalgo
uint8_t compressalgo
Definition: rpmpgp.h:773
pgpPktLdata_s::filenamelen
uint8_t filenamelen
Definition: rpmpgp.h:864
PGPSYMKEYALGO_SAFER
@ PGPSYMKEYALGO_SAFER
Definition: rpmpgp.h:210
PGPTAG_PRIVATE_62
@ PGPTAG_PRIVATE_62
Definition: rpmpgp.h:72
PGPSYMKEYALGO_BLOWFISH
@ PGPSYMKEYALGO_BLOWFISH
Definition: rpmpgp.h:209
pgpPktSigV4_s::pubkey_algo
uint8_t pubkey_algo
Definition: rpmpgp.h:349
pgpVerifySig
rpmRC pgpVerifySig(pgpDig dig, DIGEST_CTX hashctx)
Verify a PGP signature.
PGPCOMPRESSALGO_ZIP
@ PGPCOMPRESSALGO_ZIP
Definition: rpmpgp.h:236
PGPHASHALGO_SHA256
@ PGPHASHALGO_SHA256
Definition: rpmpgp.h:271
rpmFlags
uint32_t rpmFlags
Definition: rpmtypes.h:42
pgpPktPre_u::onepass
pgpPktOnepass onepass
Definition: rpmpgp.h:905
PGPVAL_SYMKEYALGO
@ PGPVAL_SYMKEYALGO
Definition: rpmpgp.h:953
pgpPktKeyV4_s::version
uint8_t version
Definition: rpmpgp.h:674
PGPTAG_SECRET_KEY
@ PGPTAG_SECRET_KEY
Definition: rpmpgp.h:56
PGPTAG_PUBLIC_SUBKEY
@ PGPTAG_PUBLIC_SUBKEY
Definition: rpmpgp.h:65
PGPHASHALGO_SHA1
@ PGPHASHALGO_SHA1
Definition: rpmpgp.h:266
PGPSIGTYPE_POSITIVE_CERT
@ PGPSIGTYPE_POSITIVE_CERT
Definition: rpmpgp.h:133
PGPHASHALGO_SHA512
@ PGPHASHALGO_SHA512
Definition: rpmpgp.h:273
PGPSIGTYPE_SIGNED_KEY
@ PGPSIGTYPE_SIGNED_KEY
Definition: rpmpgp.h:136
PGPARMOR_MESSAGE
@ PGPARMOR_MESSAGE
Definition: rpmpgp.h:927
pgpCompressAlgo
enum pgpCompressAlgo_e pgpCompressAlgo
9.3.
pgpCurveId
enum pgpCurveId_e pgpCurveId
ECC Curves.
pgpPktKeyV3_s
5.5.1.
Definition: rpmpgp.h:630
pgpPktSymkey_s::symkey_algo
uint8_t symkey_algo
Definition: rpmpgp.h:516
PGPSUBTYPE_SIGNER_USERID
@ PGPSUBTYPE_SIGNER_USERID
Definition: rpmpgp.h:441
rpmDigestLength
size_t rpmDigestLength(int hashalgo)
Obtain digest length in bytes.
pgpKeyID_t
uint8_t pgpKeyID_t[8]
Definition: rpmpgp.h:40
pgpPktSigV4_s
5.2.3.
Definition: rpmpgp.h:346
rpmFreeCrypto
int rpmFreeCrypto(void)
Shutdown cryptography.
pgpNewDig
pgpDig pgpNewDig(void)
Create a container for parsed OpenPGP packet(s).
PGPTAG_ONEPASS_SIGNATURE
@ PGPTAG_ONEPASS_SIGNATURE
Definition: rpmpgp.h:55
rpmDigestFinal
int rpmDigestFinal(DIGEST_CTX ctx, void **datap, size_t *lenp, int asAscii)
Return digest and destroy context.
PGPSUBTYPE_INTERNAL_102
@ PGPSUBTYPE_INTERNAL_102
Definition: rpmpgp.h:448
PGPSYMKEYALGO_IDEA
@ PGPSYMKEYALGO_IDEA
Definition: rpmpgp.h:206
PGPARMORKEY_COMMENT
@ PGPARMORKEY_COMMENT
Definition: rpmpgp.h:940
PGPSUBTYPE_PREFER_SYMKEY
@ PGPSUBTYPE_PREFER_SYMKEY
Definition: rpmpgp.h:430
PGPARMOR_PRIVKEY
@ PGPARMOR_PRIVKEY
Definition: rpmpgp.h:932
pgpSubType
enum pgpSubType_e pgpSubType
5.2.3.1.
pgpHashAlgo_e
pgpHashAlgo_e
9.4.
Definition: rpmpgp.h:264
pgpPktKey
union pgpPktKey_u pgpPktKey
5.5.3.
pgpPktSig_u::v4
struct pgpPktSigV4_s v4
Definition: rpmpgp.h:483
PGPSUBTYPE_CRITICAL
@ PGPSUBTYPE_CRITICAL
Definition: rpmpgp.h:458
pgpArmorKey_e
pgpArmorKey_e
Definition: rpmpgp.h:938
pgpPktSigV4_s::version
uint8_t version
Definition: rpmpgp.h:347
pgpPktOnepass_s::hash_algo
uint8_t hash_algo
Definition: rpmpgp.h:552
pgpPktPre_u::symkey
pgpPktSymkey symkey
Definition: rpmpgp.h:904
PGPPUBKEYALGO_EC
@ PGPPUBKEYALGO_EC
Definition: rpmpgp.h:173
PGPSUBTYPE_PREFER_HASH
@ PGPSUBTYPE_PREFER_HASH
Definition: rpmpgp.h:434
PGPPUBKEYALGO_ELGAMAL_ENCRYPT
@ PGPPUBKEYALGO_ELGAMAL_ENCRYPT
Definition: rpmpgp.h:171
PGPTAG_RESERVED
@ PGPTAG_RESERVED
Definition: rpmpgp.h:51
PGPARMOR_SIGNATURE
@ PGPARMOR_SIGNATURE
Definition: rpmpgp.h:929
PGPTAG_CONTROL
@ PGPTAG_CONTROL
Definition: rpmpgp.h:73
pgpDigParamsAlgo
unsigned int pgpDigParamsAlgo(pgpDigParams digp, unsigned int algotype)
Retrieve OpenPGP algorithm parameters param digp parameter container param algotype PGPVAL_HASHALGO /...
pgpPktPre_u::pubkey
pgpPktPubkey pubkey
Definition: rpmpgp.h:902
PGPPUBKEYALGO_ECDSA
@ PGPPUBKEYALGO_ECDSA
Definition: rpmpgp.h:174
rpmDigestBundleAddID
int rpmDigestBundleAddID(rpmDigestBundle bundle, int algo, int id, rpmDigestFlags flags)
Add a new type of digest to a bundle.
pgpPktUid_s
5.11.
Definition: rpmpgp.h:895
pgpPktSigV3
struct pgpPktSigV3_s * pgpPktSigV3
5.2.2.
pgpPktTrust_s::flag
uint8_t flag
Definition: rpmpgp.h:882
PGPCURVE_CURVE25519
@ PGPCURVE_CURVE25519
Definition: rpmpgp.h:290
pgpPubkeyFingerprint
int pgpPubkeyFingerprint(const uint8_t *pkt, size_t pktlen, uint8_t **fp, size_t *fplen)
Calculate OpenPGP public key fingerprint.
PGPCURVE_ED25519
@ PGPCURVE_ED25519
Definition: rpmpgp.h:289
pgpPktPre_u::edata
pgpPktEdata edata
Definition: rpmpgp.h:908
PGPARMOR_FILE
@ PGPARMOR_FILE
Definition: rpmpgp.h:931
PGPHASHALGO_MD5
@ PGPHASHALGO_MD5
Definition: rpmpgp.h:265
pgpPktOnepass_s::pubkey_algo
uint8_t pubkey_algo
Definition: rpmpgp.h:553
pgpPktOnepass_s::version
uint8_t version
Definition: rpmpgp.h:550
PGPPUBKEYALGO_DH
@ PGPPUBKEYALGO_DH
Definition: rpmpgp.h:176
pgpPktPre_u::tdata
pgpPktTrust tdata
Definition: rpmpgp.h:911
PGPSYMKEYALGO_PLAINTEXT
@ PGPSYMKEYALGO_PLAINTEXT
Definition: rpmpgp.h:205
pgpPubkeyAlgo_e
pgpPubkeyAlgo_e
9.1.
Definition: rpmpgp.h:167
PGPSUBTYPE_PREFER_KEYSERVER
@ PGPSUBTYPE_PREFER_KEYSERVER
Definition: rpmpgp.h:437
PGPSUBTYPE_INTERNAL_110
@ PGPSUBTYPE_INTERNAL_110
Definition: rpmpgp.h:456
pgpPubKeyCertLen
int pgpPubKeyCertLen(const uint8_t *pkts, size_t pktslen, size_t *certlen)
Return a length of the first public key certificate in a buffer given by pkts that contains one or mo...
PGPHASHALGO_HAVAL_5_160
@ PGPHASHALGO_HAVAL_5_160
Definition: rpmpgp.h:270
PGPTAG_PRIVATE_60
@ PGPTAG_PRIVATE_60
Definition: rpmpgp.h:70
pgpSymkeyAlgo_e
pgpSymkeyAlgo_e
9.2.
Definition: rpmpgp.h:204
pgpArmorKey
enum pgpArmorKey_e pgpArmorKey
PGPSIGTYPE_GENERIC_CERT
@ PGPSIGTYPE_GENERIC_CERT
Definition: rpmpgp.h:127
PGPSYMKEYALGO_AES_128
@ PGPSYMKEYALGO_AES_128
Definition: rpmpgp.h:212
PGPSUBTYPE_INTERNAL_107
@ PGPSUBTYPE_INTERNAL_107
Definition: rpmpgp.h:453
PGPSUBTYPE_SIG_EXPIRE_TIME
@ PGPSUBTYPE_SIG_EXPIRE_TIME
Definition: rpmpgp.h:423
PGPPUBKEYALGO_EDDSA
@ PGPPUBKEYALGO_EDDSA
Definition: rpmpgp.h:177
pgpParsePkts
pgpArmor pgpParsePkts(const char *armor, uint8_t **pkt, size_t *pktlen)
Parse armored OpenPGP packets from memory.
PGPTAG_USER_ID
@ PGPTAG_USER_ID
Definition: rpmpgp.h:64
PGPARMORKEY_VERSION
@ PGPARMORKEY_VERSION
Definition: rpmpgp.h:939
pgpPktSigV3_s::pubkey_algo
uint8_t pubkey_algo
Definition: rpmpgp.h:320
PGPARMORKEY_CHARSET
@ PGPARMORKEY_CHARSET
Definition: rpmpgp.h:943
PGPVAL_PUBKEYALGO
@ PGPVAL_PUBKEYALGO
Definition: rpmpgp.h:952
PGPTAG_PUBLIC_KEY
@ PGPTAG_PUBLIC_KEY
Definition: rpmpgp.h:57
PGPTAG_TRUST
@ PGPTAG_TRUST
Definition: rpmpgp.h:63
PGPHASHALGO_SHA384
@ PGPHASHALGO_SHA384
Definition: rpmpgp.h:272
pgpPktSigV3_s
5.2.2.
Definition: rpmpgp.h:314
pgpPktPre_u::ldata
pgpPktLdata ldata
Definition: rpmpgp.h:910
pgpDigGetParams
pgpDigParams pgpDigGetParams(pgpDig dig, unsigned int pkttype)
Retrieve parameters for parsed OpenPGP packet(s).
pgpPktKeyV3
struct pgpPktKeyV3_s * pgpPktKeyV3
5.5.1.
rpmDigestBundleAdd
int rpmDigestBundleAdd(rpmDigestBundle bundle, int algo, rpmDigestFlags flags)
Add a new type of digest to a bundle.
PGPSIGTYPE_TIMESTAMP
@ PGPSIGTYPE_TIMESTAMP
Definition: rpmpgp.h:140
pgpCleanDig
void pgpCleanDig(pgpDig dig)
Release (malloc'd) data from container.
rpmRC
enum rpmRC_e rpmRC
Package read return codes.
pgpPrtPkts
int pgpPrtPkts(const uint8_t *pkts, size_t pktlen, pgpDig dig, int printing)
Print/parse a OpenPGP packet(s).
pgpPktPubkey_s::keyid
pgpKeyID_t keyid
Definition: rpmpgp.h:112
pgpHexStr
char * pgpHexStr(const uint8_t *p, size_t plen)
Return hex formatted representation of bytes.
PGPCURVE_BRAINPOOL_P256R1
@ PGPCURVE_BRAINPOOL_P256R1
Definition: rpmpgp.h:287
PGPTAG_SECRET_SUBKEY
@ PGPTAG_SECRET_SUBKEY
Definition: rpmpgp.h:58
PGPSUBTYPE_REVOCABLE
@ PGPSUBTYPE_REVOCABLE
Definition: rpmpgp.h:427
PGPSUBTYPE_NOTATION
@ PGPSUBTYPE_NOTATION
Definition: rpmpgp.h:433
pgpPktCdata_s::data
uint8_t data[1]
Definition: rpmpgp.h:774
PGPTAG_LITERAL_DATA
@ PGPTAG_LITERAL_DATA
Definition: rpmpgp.h:62
PGPSYMKEYALGO_TRIPLE_DES
@ PGPSYMKEYALGO_TRIPLE_DES
Definition: rpmpgp.h:207
PGPSIGTYPE_KEY_REVOKE
@ PGPSIGTYPE_KEY_REVOKE
Definition: rpmpgp.h:137
PGPPUBKEYALGO_RSA_ENCRYPT
@ PGPPUBKEYALGO_RSA_ENCRYPT
Definition: rpmpgp.h:169
pgpPktPre_u::cdata
pgpPktCdata cdata
Definition: rpmpgp.h:907
PGPSUBTYPE_PRIMARY_USERID
@ PGPSUBTYPE_PRIMARY_USERID
Definition: rpmpgp.h:438
pgpPktLdata_s::filename
uint8_t filename[1]
Definition: rpmpgp.h:865
pgpDigParamsCmp
int pgpDigParamsCmp(pgpDigParams p1, pgpDigParams p2)
Compare OpenPGP packet parameters param p1 1st parameter container param p2 2nd parameter container r...
pgpPktPubkey_s
5.1.
Definition: rpmpgp.h:110
pgpTag_e
pgpTag_e
4.3.
Definition: rpmpgp.h:50
pgpPktLdata_s::format
uint8_t format
Definition: rpmpgp.h:863
pgpReadPkts
pgpArmor pgpReadPkts(const char *fn, uint8_t **pkt, size_t *pktlen)
Parse armored OpenPGP packets from a file.
PGPVAL_ARMORKEY
@ PGPVAL_ARMORKEY
Definition: rpmpgp.h:949
pgpPktKey_u::v4
struct pgpPktKeyV4_s v4
Definition: rpmpgp.h:745
rpmDigestBundleFree
rpmDigestBundle rpmDigestBundleFree(rpmDigestBundle bundle)
Free a digest bundle and all contained digest contexts.
PGPSUBTYPE_SIG_CREATE_TIME
@ PGPSUBTYPE_SIG_CREATE_TIME
Definition: rpmpgp.h:422
pgpPktSigV3_s::hash_algo
uint8_t hash_algo
Definition: rpmpgp.h:321
PGPARMOR_ERR_BODY_DECODE
@ PGPARMOR_ERR_BODY_DECODE
Definition: rpmpgp.h:919
pgpValString
const char * pgpValString(pgpValType type, uint8_t val)
Return string representation of am OpenPGP value.
PGPSIGTYPE_CERT_REVOKE
@ PGPSIGTYPE_CERT_REVOKE
Definition: rpmpgp.h:139
rpmDigestFlags
rpmFlags rpmDigestFlags
Definition: rpmpgp.h:966
pgpPktKeyV3_s::time
pgpTime_t time
Definition: rpmpgp.h:632
PGPSUBTYPE_EMBEDDED_SIG
@ PGPSUBTYPE_EMBEDDED_SIG
Definition: rpmpgp.h:444
PGPPUBKEYALGO_ELGAMAL
@ PGPPUBKEYALGO_ELGAMAL
Definition: rpmpgp.h:175
pgpPktKeyV3_s::pubkey_algo
uint8_t pubkey_algo
Definition: rpmpgp.h:634
PGPTAG_SYMMETRIC_DATA
@ PGPTAG_SYMMETRIC_DATA
Definition: rpmpgp.h:60
PGPSUBTYPE_INTERNAL_100
@ PGPSUBTYPE_INTERNAL_100
Definition: rpmpgp.h:446
PGPTAG_COMMENT
@ PGPTAG_COMMENT
Definition: rpmpgp.h:71
PGPVAL_SUBTYPE
@ PGPVAL_SUBTYPE
Definition: rpmpgp.h:951
rpmDigestBundleDupCtx
DIGEST_CTX rpmDigestBundleDupCtx(rpmDigestBundle bundle, int id)
Duplicate a digest context from a bundle.
PGPPUBKEYALGO_RSA
@ PGPPUBKEYALGO_RSA
Definition: rpmpgp.h:168
PGPARMORKEY_MESSAGEID
@ PGPARMORKEY_MESSAGEID
Definition: rpmpgp.h:941
PGPSUBTYPE_INTERNAL_108
@ PGPSUBTYPE_INTERNAL_108
Definition: rpmpgp.h:454
RPMDIGEST_NONE
@ RPMDIGEST_NONE
Definition: rpmpgp.h:963
pgpPktPre_u
Definition: rpmpgp.h:901
PGPSUBTYPE_FEATURES
@ PGPSUBTYPE_FEATURES
Definition: rpmpgp.h:443
pgpPktCdata
struct pgpPktCdata_s pgpPktCdata
5.6.
PGPSUBTYPE_INTERNAL_103
@ PGPSUBTYPE_INTERNAL_103
Definition: rpmpgp.h:449
PGPTAG_PHOTOID
@ PGPTAG_PHOTOID
Definition: rpmpgp.h:67
PGPARMOR_ERR_NO_END_PGP
@ PGPARMOR_ERR_NO_END_PGP
Definition: rpmpgp.h:921
pgpPktKeyV3_s::version
uint8_t version
Definition: rpmpgp.h:631
rpmDigestBundle
struct rpmDigestBundle_s * rpmDigestBundle
Definition: rpmpgp.h:30
pgpIdentItem
char * pgpIdentItem(pgpDigParams digp)
Return a string identification of a PGP signature/pubkey.
PGPARMOR_SECKEY
@ PGPARMOR_SECKEY
Definition: rpmpgp.h:933
pgpPktKeyV4_s::time
pgpTime_t time
Definition: rpmpgp.h:675
pgpCompressAlgo_e
pgpCompressAlgo_e
9.3.
Definition: rpmpgp.h:234
PGPSUBTYPE_INTERNAL_106
@ PGPSUBTYPE_INTERNAL_106
Definition: rpmpgp.h:452
PGPSYMKEYALGO_CAST5
@ PGPSYMKEYALGO_CAST5
Definition: rpmpgp.h:208
PGPARMORKEY_HASH
@ PGPARMORKEY_HASH
Definition: rpmpgp.h:942
pgpPktUid_s::userid
uint8_t userid[1]
Definition: rpmpgp.h:896
PGPSUBTYPE_REGEX
@ PGPSUBTYPE_REGEX
Definition: rpmpgp.h:426
pgpPktPubkey_s::version
uint8_t version
Definition: rpmpgp.h:111
pgpPktSigV3_s::signid
pgpKeyID_t signid
Definition: rpmpgp.h:319
pgpPubkeyKeyID
int pgpPubkeyKeyID(const uint8_t *pkt, size_t pktlen, pgpKeyID_t keyid)
Calculate OpenPGP public key Key ID.
PGPTAG_COMMENT_OLD
@ PGPTAG_COMMENT_OLD
Definition: rpmpgp.h:66
PGPSYMKEYALGO_AES_192
@ PGPSYMKEYALGO_AES_192
Definition: rpmpgp.h:213
pgpPktKey_u
5.5.3.
Definition: rpmpgp.h:743
rpmInitCrypto
int rpmInitCrypto(void)
Perform cryptography initialization.
PGPPUBKEYALGO_RSA_SIGN
@ PGPPUBKEYALGO_RSA_SIGN
Definition: rpmpgp.h:170
PGPSUBTYPE_ISSUER_KEYID
@ PGPSUBTYPE_ISSUER_KEYID
Definition: rpmpgp.h:432
PGPARMOR_NONE
@ PGPARMOR_NONE
Definition: rpmpgp.h:926
rpmDigestBundleNew
rpmDigestBundle rpmDigestBundleNew(void)
Create a new digest bundle.
pgpPktKeyV4_s::pubkey_algo
uint8_t pubkey_algo
Definition: rpmpgp.h:676
PGPTAG_COMPRESSED_DATA
@ PGPTAG_COMPRESSED_DATA
Definition: rpmpgp.h:59
pgpPktOnepass_s::nested
uint8_t nested
Definition: rpmpgp.h:555
PGPARMOR_SIGNED_MESSAGE
@ PGPARMOR_SIGNED_MESSAGE
Definition: rpmpgp.h:930
pgpPktOnepass_s
5.4.
Definition: rpmpgp.h:549
PGPTAG_MDC
@ PGPTAG_MDC
Definition: rpmpgp.h:69
PGPARMOR_ERR_UNKNOWN_PREAMBLE_TAG
@ PGPARMOR_ERR_UNKNOWN_PREAMBLE_TAG
Definition: rpmpgp.h:922
PGPSYMKEYALGO_DES_SK
@ PGPSYMKEYALGO_DES_SK
Definition: rpmpgp.h:211
pgpPktSigV4_s::hashlen
uint8_t hashlen[2]
Definition: rpmpgp.h:351
PGPSUBTYPE_TRUST_SIG
@ PGPSUBTYPE_TRUST_SIG
Definition: rpmpgp.h:425
pgpPktLdata
struct pgpPktLdata_s pgpPktLdata
5.8.
pgpPktSigV3_s::signhash16
uint8_t signhash16[2]
Definition: rpmpgp.h:322
PGPVAL_HASHALGO
@ PGPVAL_HASHALGO
Definition: rpmpgp.h:955
pgpSubType_e
pgpSubType_e
5.2.3.1.
Definition: rpmpgp.h:420
PGPCOMPRESSALGO_ZLIB
@ PGPCOMPRESSALGO_ZLIB
Definition: rpmpgp.h:237
pgpPktSigV3_s::hashlen
uint8_t hashlen
Definition: rpmpgp.h:316
pgpPktKeyV4
struct pgpPktKeyV4_s * pgpPktKeyV4
The version 4 format is similar to the version 3 format except for the absence of a validity period.
pgpPktPre_u::uid
pgpPktUid uid
Definition: rpmpgp.h:912
PGPTAG_ENCRYPTED_MDC
@ PGPTAG_ENCRYPTED_MDC
Definition: rpmpgp.h:68
PGPSIGTYPE_PERSONA_CERT
@ PGPSIGTYPE_PERSONA_CERT
Definition: rpmpgp.h:129
pgpPktTrust
struct pgpPktTrust_s pgpPktTrust
5.10.
pgpCurveId_e
pgpCurveId_e
ECC Curves.
Definition: rpmpgp.h:283
pgpValType
enum pgpValType_e pgpValType
pgpArmorWrap
char * pgpArmorWrap(int atype, const unsigned char *s, size_t ns)
Wrap a OpenPGP packets in ascii armor for transport.
PGPSUBTYPE_INTERNAL_104
@ PGPSUBTYPE_INTERNAL_104
Definition: rpmpgp.h:450
PGPSUBTYPE_INTERNAL_105
@ PGPSUBTYPE_INTERNAL_105
Definition: rpmpgp.h:451
PGPVAL_SERVERPREFS
@ PGPVAL_SERVERPREFS
Definition: rpmpgp.h:956
PGPVAL_COMPRESSALGO
@ PGPVAL_COMPRESSALGO
Definition: rpmpgp.h:954
pgpPktSigV3_s::version
uint8_t version
Definition: rpmpgp.h:315
pgpPktSymkey_s
5.3.
Definition: rpmpgp.h:514
rpmDigestInit
DIGEST_CTX rpmDigestInit(int hashalgo, rpmDigestFlags flags)
Initialize digest.
PGPCURVE_BRAINPOOL_P512R1
@ PGPCURVE_BRAINPOOL_P512R1
Definition: rpmpgp.h:288
PGPPUBKEYALGO_DSA
@ PGPPUBKEYALGO_DSA
Definition: rpmpgp.h:172
PGPSYMKEYALGO_AES_256
@ PGPSYMKEYALGO_AES_256
Definition: rpmpgp.h:214
PGPSIGTYPE_SUBKEY_BINDING
@ PGPSIGTYPE_SUBKEY_BINDING
Definition: rpmpgp.h:135
PGPHASHALGO_TIGER192
@ PGPHASHALGO_TIGER192
Definition: rpmpgp.h:269
pgpValType_e
pgpValType_e
Definition: rpmpgp.h:946
PGPSIGTYPE_SUBKEY_REVOKE
@ PGPSIGTYPE_SUBKEY_REVOKE
Definition: rpmpgp.h:138
PGPTAG_SYMMETRIC_SESSION_KEY
@ PGPTAG_SYMMETRIC_SESSION_KEY
Definition: rpmpgp.h:54
pgpPktSig_u::v3
struct pgpPktSigV3_s v3
Definition: rpmpgp.h:482
pgpPktSymkey_s::version
uint8_t version
Definition: rpmpgp.h:515
pgpPktSigV4_s::hash_algo
uint8_t hash_algo
Definition: rpmpgp.h:350
PGPTAG_MARKER
@ PGPTAG_MARKER
Definition: rpmpgp.h:61
pgpHashAlgo
enum pgpHashAlgo_e pgpHashAlgo
9.4.
pgpPktSymkey_s::s2k
uint8_t s2k[1]
Definition: rpmpgp.h:517
pgpSymkeyAlgo
enum pgpSymkeyAlgo_e pgpSymkeyAlgo
9.2.
pgpSigType
enum pgpSigType_e pgpSigType
5.2.1.
pgpPktKeyV4_s
The version 4 format is similar to the version 3 format except for the absence of a validity period.
Definition: rpmpgp.h:673
pgpPktTrust_s
5.10.
Definition: rpmpgp.h:881
pgpFreeDig
pgpDig pgpFreeDig(pgpDig dig)
Destroy a container for parsed OpenPGP packet(s).
pgpDig
struct pgpDig_s * pgpDig
Definition: rpmpgp.h:34
PGPSIGTYPE_TEXT
@ PGPSIGTYPE_TEXT
Definition: rpmpgp.h:125
pgpVerifySignature
rpmRC pgpVerifySignature(pgpDigParams key, pgpDigParams sig, DIGEST_CTX hashctx)
Verify a PGP signature.
PGPSUBTYPE_REVOKE_KEY
@ PGPSUBTYPE_REVOKE_KEY
Definition: rpmpgp.h:431
pgpPktLdata_s
5.8.
Definition: rpmpgp.h:862
pgpDigParamsFree
pgpDigParams pgpDigParamsFree(pgpDigParams digp)
Destroy parsed OpenPGP packet parameter(s).
PGPSIGTYPE_STANDALONE
@ PGPSIGTYPE_STANDALONE
Definition: rpmpgp.h:126
rpmDigestFlags_e
rpmDigestFlags_e
Bit(s) to control digest operation.
Definition: rpmpgp.h:962
PGPSIGTYPE_BINARY
@ PGPSIGTYPE_BINARY
Definition: rpmpgp.h:124
PGPSUBTYPE_KEY_EXPIRE_TIME
@ PGPSUBTYPE_KEY_EXPIRE_TIME
Definition: rpmpgp.h:428
PGPCURVE_NIST_P_384
@ PGPCURVE_NIST_P_384
Definition: rpmpgp.h:285
pgpPktKey_u::v3
struct pgpPktKeyV3_s v3
Definition: rpmpgp.h:744
PGPCURVE_NIST_P_521
@ PGPCURVE_NIST_P_521
Definition: rpmpgp.h:286
rpmDigestBundleUpdate
int rpmDigestBundleUpdate(rpmDigestBundle bundle, const void *data, size_t len)
Update contexts within bundle with next plain text buffer.
PGPTAG_PUBLIC_SESSION_KEY
@ PGPTAG_PUBLIC_SESSION_KEY
Definition: rpmpgp.h:52
PGPCOMPRESSALGO_BZIP2
@ PGPCOMPRESSALGO_BZIP2
Definition: rpmpgp.h:238
pgpSigType_e
pgpSigType_e
5.2.1.
Definition: rpmpgp.h:123
pgpPktSymkey
struct pgpPktSymkey_s pgpPktSymkey
5.3.
rpmDigestBundleFinal
int rpmDigestBundleFinal(rpmDigestBundle bundle, int id, void **datap, size_t *lenp, int asAscii)
Return digest from a bundle and destroy context, see rpmDigestFinal().
pgpTime_t
uint8_t pgpTime_t[4]
Definition: rpmpgp.h:41
pgpGrab
static unsigned int pgpGrab(const uint8_t *s, size_t nbytes)
Return (native-endian) integer from big-endian representation.
Definition: rpmpgp.h:983
pgpPktPre_u::sig
pgpPktSig sig
Definition: rpmpgp.h:903
pgpDigParams
struct pgpDigParams_s * pgpDigParams
Definition: rpmpgp.h:38
pgpPktEdata_s::data
uint8_t data[1]
Definition: rpmpgp.h:812
PGPSIGTYPE_CASUAL_CERT
@ PGPSIGTYPE_CASUAL_CERT
Definition: rpmpgp.h:131
pgpPktUid
struct pgpPktUid_s pgpPktUid
5.11.
pgpPktSig
union pgpPktSig_u * pgpPktSig
5.2.
PGPARMOR_ERR_CRC_CHECK
@ PGPARMOR_ERR_CRC_CHECK
Definition: rpmpgp.h:918
PGPSUBTYPE_INTERNAL_101
@ PGPSUBTYPE_INTERNAL_101
Definition: rpmpgp.h:447
PGPHASHALGO_MD2
@ PGPHASHALGO_MD2
Definition: rpmpgp.h:268
pgpPktKeyV3_s::valid
uint8_t valid[2]
Definition: rpmpgp.h:633
PGPARMOR_ERR_CRC_DECODE
@ PGPARMOR_ERR_CRC_DECODE
Definition: rpmpgp.h:920
PGPSUBTYPE_NONE
@ PGPSUBTYPE_NONE
Definition: rpmpgp.h:421
pgpArmor_e
pgpArmor_e
Definition: rpmpgp.h:917
PGPTAG_SIGNATURE
@ PGPTAG_SIGNATURE
Definition: rpmpgp.h:53
pgpPktEdata_s
5.7.
Definition: rpmpgp.h:811
PGPHASHALGO_SHA224
@ PGPHASHALGO_SHA224
Definition: rpmpgp.h:274
PGPSYMKEYALGO_NOENCRYPT
@ PGPSYMKEYALGO_NOENCRYPT
Definition: rpmpgp.h:216
pgpPktSigV3_s::time
pgpTime_t time
Definition: rpmpgp.h:318
PGPCURVE_NIST_P_256
@ PGPCURVE_NIST_P_256
Definition: rpmpgp.h:284
PGPARMOR_ERR_UNKNOWN_ARMOR_TYPE
@ PGPARMOR_ERR_UNKNOWN_ARMOR_TYPE
Definition: rpmpgp.h:923
PGPSYMKEYALGO_TWOFISH
@ PGPSYMKEYALGO_TWOFISH
Definition: rpmpgp.h:215
pgpPktOnepass_s::sigtype
uint8_t sigtype
Definition: rpmpgp.h:551
PGPSUBTYPE_PREFER_COMPRESS
@ PGPSUBTYPE_PREFER_COMPRESS
Definition: rpmpgp.h:435
PGPARMOR_PUBKEY
@ PGPARMOR_PUBKEY
Definition: rpmpgp.h:928
pgpPktSigV4
struct pgpPktSigV4_s * pgpPktSigV4
5.2.3.
PGPSUBTYPE_KEYSERVER_PREFERS
@ PGPSUBTYPE_KEYSERVER_PREFERS
Definition: rpmpgp.h:436
pgpPktSigV3_s::sigtype
uint8_t sigtype
Definition: rpmpgp.h:317
PGPSUBTYPE_REVOKE_REASON
@ PGPSUBTYPE_REVOKE_REASON
Definition: rpmpgp.h:442
DIGEST_CTX
struct DIGEST_CTX_s * DIGEST_CTX
Definition: rpmpgp.h:29
PGPHASHALGO_RIPEMD160
@ PGPHASHALGO_RIPEMD160
Definition: rpmpgp.h:267
pgpPktPubkey_s::algo
uint8_t algo
Definition: rpmpgp.h:113
pgpPrtParamsSubkeys
int pgpPrtParamsSubkeys(const uint8_t *pkts, size_t pktlen, pgpDigParams mainkey, pgpDigParams **subkeys, int *subkeysCount)
Parse subkey parameters from OpenPGP packet(s).
pgpPubkeyAlgo
enum pgpPubkeyAlgo_e pgpPubkeyAlgo
9.1.
pgpTag
enum pgpTag_e pgpTag
4.3.
pgpPktPre_u::key
pgpPktKey key
Definition: rpmpgp.h:906
PGPSUBTYPE_ARR
@ PGPSUBTYPE_ARR
Definition: rpmpgp.h:429
rpmDigestUpdate
int rpmDigestUpdate(DIGEST_CTX ctx, const void *data, size_t len)
Update context with next plain text buffer.
pgpPktOnepass
struct pgpPktOnepass_s * pgpPktOnepass
5.4.
rpmDigestDup
DIGEST_CTX rpmDigestDup(DIGEST_CTX octx)
Duplicate a digest context.
PGPARMOR_ERR_NO_BEGIN_PGP
@ PGPARMOR_ERR_NO_BEGIN_PGP
Definition: rpmpgp.h:924
pgpPktSigV4_s::sigtype
uint8_t sigtype
Definition: rpmpgp.h:348
PGPCOMPRESSALGO_NONE
@ PGPCOMPRESSALGO_NONE
Definition: rpmpgp.h:235
PGPSUBTYPE_INTERNAL_109
@ PGPSUBTYPE_INTERNAL_109
Definition: rpmpgp.h:455
PGPVAL_ARMORBLOCK
@ PGPVAL_ARMORBLOCK
Definition: rpmpgp.h:948
PGPSUBTYPE_POLICY_URL
@ PGPSUBTYPE_POLICY_URL
Definition: rpmpgp.h:439
PGPSUBTYPE_EXPORTABLE_CERT
@ PGPSUBTYPE_EXPORTABLE_CERT
Definition: rpmpgp.h:424
PGPSUBTYPE_KEY_FLAGS
@ PGPSUBTYPE_KEY_FLAGS
Definition: rpmpgp.h:440
pgpPktPubkey
struct pgpPktPubkey_s pgpPktPubkey
5.1.