rpm 4.18.2
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
25extern "C" {
26#endif
27
30typedef struct pgpDig_s * pgpDig;
31
34typedef struct pgpDigParams_s * pgpDigParams;
35
36
40#define PGP_KEYID_LEN 8
41
42typedef uint8_t pgpKeyID_t[PGP_KEYID_LEN];
43typedef uint8_t pgpTime_t[4];
44
52typedef enum pgpTag_e {
75 PGPTAG_CONTROL = 63
77
112typedef struct pgpPktPubkey_s {
113 uint8_t version;
115 uint8_t algo;
117
118
125typedef enum pgpSigType_e {
144
169typedef enum pgpPubkeyAlgo_e {
181
206typedef enum pgpSymkeyAlgo_e {
220
236typedef enum pgpCompressAlgo_e {
242
266typedef enum pgpHashAlgo_e {
278
285typedef enum pgpCurveId_e {
294
316typedef struct pgpPktSigV3_s {
317 uint8_t version;
318 uint8_t hashlen;
319 uint8_t sigtype;
322 uint8_t pubkey_algo;
323 uint8_t hash_algo;
324 uint8_t signhash16[2];
326
348typedef struct pgpPktSigV4_s {
349 uint8_t version;
350 uint8_t sigtype;
351 uint8_t pubkey_algo;
352 uint8_t hash_algo;
353 uint8_t hashlen[2];
355
422typedef enum pgpSubType_e {
462
483typedef union pgpPktSig_u {
487
516typedef struct pgpPktSymkey_s {
517 uint8_t version;
518 uint8_t symkey_algo;
519 uint8_t s2k[1];
521
551typedef struct pgpPktOnepass_s {
552 uint8_t version;
553 uint8_t sigtype;
554 uint8_t hash_algo;
555 uint8_t pubkey_algo;
557 uint8_t nested;
559
632typedef struct pgpPktKeyV3_s {
633 uint8_t version;
635 uint8_t valid[2];
636 uint8_t pubkey_algo;
638
675typedef struct pgpPktKeyV4_s {
676 uint8_t version;
678 uint8_t pubkey_algo;
680
745typedef union pgpPktKey_u {
749
774typedef struct pgpPktCdata_s {
776 uint8_t data[1];
778
813typedef struct pgpPktEdata_s {
814 uint8_t data[1];
816
864typedef struct pgpPktLdata_s {
865 uint8_t format;
866 uint8_t filenamelen;
867 uint8_t filename[1];
869
883typedef struct pgpPktTrust_s {
884 uint8_t flag;
886
897typedef struct pgpPktUid_s {
898 uint8_t userid[1];
900
915};
916
919typedef enum pgpArmor_e {
927#define PGPARMOR_ERROR PGPARMOR_ERR_NO_BEGIN_PGP
935 PGPARMOR_SECKEY = 7
937
940typedef enum pgpArmorKey_e {
947
948typedef enum pgpValType_e {
960
967const char * pgpValString(pgpValType type, uint8_t val);
968
975static inline
976unsigned int pgpGrab(const uint8_t *s, size_t nbytes)
977{
978 size_t i = 0;
979 size_t nb = (nbytes <= sizeof(i) ? nbytes : sizeof(i));
980 while (nb--)
981 i = (i << 8) | *s++;
982 return i;
983}
984
993int pgpPubkeyFingerprint(const uint8_t * pkt, size_t pktlen,
994 uint8_t **fp, size_t *fplen);
995
1003int pgpPubkeyKeyID(const uint8_t * pkt, size_t pktlen, pgpKeyID_t keyid);
1004
1013int pgpPrtParams(const uint8_t *pkts, size_t pktlen, unsigned int pkttype,
1014 pgpDigParams * ret);
1015
1025int pgpPrtParamsSubkeys(const uint8_t *pkts, size_t pktlen,
1026 pgpDigParams mainkey, pgpDigParams **subkeys,
1027 int *subkeysCount);
1038int pgpPrtPkts(const uint8_t *pkts, size_t pktlen, pgpDig dig, int printing);
1039
1047pgpArmor pgpReadPkts(const char * fn, uint8_t ** pkt, size_t * pktlen);
1048
1056pgpArmor pgpParsePkts(const char *armor, uint8_t ** pkt, size_t * pktlen);
1057
1070int pgpPubKeyCertLen(const uint8_t *pkts, size_t pktslen, size_t *certlen);
1071
1096rpmRC pgpPubKeyLint(const uint8_t *pkts, size_t pktslen, char **explanation);
1097
1105char * pgpArmorWrap(int atype, const unsigned char * s, size_t ns);
1106
1114
1122
1131
1138pgpDigParams pgpDigGetParams(pgpDig dig, unsigned int pkttype);
1139
1147
1154unsigned int pgpDigParamsAlgo(pgpDigParams digp, unsigned int algotype);
1155
1173
1193
1212
1220
1227
1236
1246
1255
1262
1263#ifdef __cplusplus
1264}
1265#endif
1266
1267#endif /* H_RPMPGP */
struct DIGEST_CTX_s * DIGEST_CTX
Definition rpmcrypto.h:12
const char * pgpValString(pgpValType type, uint8_t val)
Return string representation of am OpenPGP value.
enum pgpTag_e pgpTag
4.3.
enum pgpHashAlgo_e pgpHashAlgo
9.4.
rpmRC pgpVerifySignature(pgpDigParams key, pgpDigParams sig, DIGEST_CTX hashctx)
Verify a PGP signature.
int pgpPrtParams(const uint8_t *pkts, size_t pktlen, unsigned int pkttype, pgpDigParams *ret)
Parse a OpenPGP packet(s).
enum pgpPubkeyAlgo_e pgpPubkeyAlgo
9.1.
enum pgpSigType_e pgpSigType
5.2.1.
pgpDig pgpNewDig(void)
Create a container for parsed OpenPGP packet(s).
enum pgpArmor_e pgpArmor
struct pgpPktKeyV4_s * pgpPktKeyV4
The version 4 format is similar to the version 3 format except for the absence of a validity period.
struct pgpPktSigV3_s * pgpPktSigV3
5.2.2.
pgpCompressAlgo_e
9.3.
Definition rpmpgp.h:236
uint32_t pgpDigParamsCreationTime(pgpDigParams digp)
Retrieve the object's creation time.
pgpDig pgpFreeDig(pgpDig dig)
Destroy a container for parsed OpenPGP packet(s).
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...
const uint8_t * pgpDigParamsSignID(pgpDigParams digp)
Returns the issuer or the object's Key ID.
int pgpSignatureType(pgpDigParams sig)
Return the type of a PGP signature.
struct pgpPktTrust_s pgpPktTrust
5.10.
pgpPubkeyAlgo_e
9.1.
Definition rpmpgp.h:169
struct pgpPktKeyV3_s * pgpPktKeyV3
5.5.1.
void pgpCleanDig(pgpDig dig)
Release (malloc'd) data from container.
int pgpDigParamsVersion(pgpDigParams digp)
Retrieve the object's version.
struct pgpPktOnepass_s * pgpPktOnepass
5.4.
pgpArmor pgpParsePkts(const char *armor, uint8_t **pkt, size_t *pktlen)
Parse armored OpenPGP packets from memory.
pgpArmor pgpReadPkts(const char *fn, uint8_t **pkt, size_t *pktlen)
Parse armored OpenPGP packets from a file.
struct pgpPktCdata_s pgpPktCdata
5.6.
rpmRC pgpPubKeyLint(const uint8_t *pkts, size_t pktslen, char **explanation)
Lints the certificate.
pgpCurveId_e
ECC Curves.
Definition rpmpgp.h:285
enum pgpCompressAlgo_e pgpCompressAlgo
9.3.
pgpArmor_e
Definition rpmpgp.h:919
union pgpPktKey_u pgpPktKey
5.5.3.
struct pgpDig_s * pgpDig
Definition rpmpgp.h:30
pgpHashAlgo_e
9.4.
Definition rpmpgp.h:266
pgpSigType_e
5.2.1.
Definition rpmpgp.h:125
int pgpDigParamsCmp(pgpDigParams p1, pgpDigParams p2)
Compare OpenPGP packet parameters param p1 1st parameter container param p2 2nd parameter container r...
enum pgpArmorKey_e pgpArmorKey
char * pgpArmorWrap(int atype, const unsigned char *s, size_t ns)
Wrap a OpenPGP packets in ascii armor for transport.
struct pgpDigParams_s * pgpDigParams
Definition rpmpgp.h:34
pgpArmorKey_e
Definition rpmpgp.h:940
union pgpPktSig_u * pgpPktSig
5.2.
unsigned int pgpDigParamsAlgo(pgpDigParams digp, unsigned int algotype)
Retrieve OpenPGP algorithm parameters param digp parameter container param algotype PGPVAL_HASHALGO /...
#define PGP_KEYID_LEN
The length (in bytes) of a binary (not hex encoded) key ID.
Definition rpmpgp.h:40
enum pgpSymkeyAlgo_e pgpSymkeyAlgo
9.2.
struct pgpPktLdata_s pgpPktLdata
5.8.
pgpDigParams pgpDigParamsFree(pgpDigParams digp)
Destroy parsed OpenPGP packet parameter(s).
int pgpPubkeyKeyID(const uint8_t *pkt, size_t pktlen, pgpKeyID_t keyid)
Calculate OpenPGP public key Key ID.
pgpTag_e
4.3.
Definition rpmpgp.h:52
int pgpPrtPkts(const uint8_t *pkts, size_t pktlen, pgpDig dig, int printing)
Print/parse a OpenPGP packet(s).
pgpSymkeyAlgo_e
9.2.
Definition rpmpgp.h:206
enum pgpSubType_e pgpSubType
5.2.3.1.
struct pgpPktEdata_s pgpPktEdata
5.7.
const char * pgpDigParamsUserID(pgpDigParams digp)
Retrieve the primary User ID, if any.
pgpDigParams pgpDigGetParams(pgpDig dig, unsigned int pkttype)
Retrieve parameters for parsed OpenPGP packet(s).
struct pgpPktUid_s pgpPktUid
5.11.
int pgpPrtParamsSubkeys(const uint8_t *pkts, size_t pktlen, pgpDigParams mainkey, pgpDigParams **subkeys, int *subkeysCount)
Parse subkey parameters from OpenPGP packet(s).
rpmRC pgpVerifySig(pgpDig dig, DIGEST_CTX hashctx)
Verify a PGP signature.
static unsigned int pgpGrab(const uint8_t *s, size_t nbytes)
Return (native-endian) integer from big-endian representation.
Definition rpmpgp.h:976
char * pgpIdentItem(pgpDigParams digp)
Return a string identification of a PGP signature/pubkey.
int pgpPubkeyFingerprint(const uint8_t *pkt, size_t pktlen, uint8_t **fp, size_t *fplen)
Calculate OpenPGP public key fingerprint.
pgpSubType_e
5.2.3.1.
Definition rpmpgp.h:422
struct pgpPktPubkey_s pgpPktPubkey
5.1.
struct pgpPktSigV4_s * pgpPktSigV4
5.2.3.
enum pgpCurveId_e pgpCurveId
ECC Curves.
@ PGPCOMPRESSALGO_NONE
Definition rpmpgp.h:237
@ PGPCOMPRESSALGO_BZIP2
Definition rpmpgp.h:240
@ PGPCOMPRESSALGO_ZLIB
Definition rpmpgp.h:239
@ PGPCOMPRESSALGO_ZIP
Definition rpmpgp.h:238
@ PGPPUBKEYALGO_ELGAMAL
Definition rpmpgp.h:177
@ PGPPUBKEYALGO_EC
Definition rpmpgp.h:175
@ PGPPUBKEYALGO_EDDSA
Definition rpmpgp.h:179
@ PGPPUBKEYALGO_RSA_ENCRYPT
Definition rpmpgp.h:171
@ PGPPUBKEYALGO_ELGAMAL_ENCRYPT
Definition rpmpgp.h:173
@ PGPPUBKEYALGO_RSA
Definition rpmpgp.h:170
@ PGPPUBKEYALGO_ECDSA
Definition rpmpgp.h:176
@ PGPPUBKEYALGO_DH
Definition rpmpgp.h:178
@ PGPPUBKEYALGO_RSA_SIGN
Definition rpmpgp.h:172
@ PGPPUBKEYALGO_DSA
Definition rpmpgp.h:174
@ PGPCURVE_ED25519
Definition rpmpgp.h:291
@ PGPCURVE_NIST_P_384
Definition rpmpgp.h:287
@ PGPCURVE_NIST_P_521
Definition rpmpgp.h:288
@ PGPCURVE_BRAINPOOL_P256R1
Definition rpmpgp.h:289
@ PGPCURVE_BRAINPOOL_P512R1
Definition rpmpgp.h:290
@ PGPCURVE_NIST_P_256
Definition rpmpgp.h:286
@ PGPCURVE_CURVE25519
Definition rpmpgp.h:292
@ PGPARMOR_ERR_CRC_DECODE
Definition rpmpgp.h:922
@ PGPARMOR_PRIVKEY
Definition rpmpgp.h:934
@ PGPARMOR_MESSAGE
Definition rpmpgp.h:929
@ PGPARMOR_PUBKEY
Definition rpmpgp.h:930
@ PGPARMOR_ERR_BODY_DECODE
Definition rpmpgp.h:921
@ PGPARMOR_SIGNED_MESSAGE
Definition rpmpgp.h:932
@ PGPARMOR_SIGNATURE
Definition rpmpgp.h:931
@ PGPARMOR_FILE
Definition rpmpgp.h:933
@ PGPARMOR_ERR_UNKNOWN_ARMOR_TYPE
Definition rpmpgp.h:925
@ PGPARMOR_ERR_NO_BEGIN_PGP
Definition rpmpgp.h:926
@ PGPARMOR_NONE
Definition rpmpgp.h:928
@ PGPARMOR_ERR_NO_END_PGP
Definition rpmpgp.h:923
@ PGPARMOR_ERR_UNKNOWN_PREAMBLE_TAG
Definition rpmpgp.h:924
@ PGPARMOR_SECKEY
Definition rpmpgp.h:935
@ PGPARMOR_ERR_CRC_CHECK
Definition rpmpgp.h:920
@ PGPHASHALGO_SHA384
Definition rpmpgp.h:274
@ PGPHASHALGO_SHA256
Definition rpmpgp.h:273
@ PGPHASHALGO_HAVAL_5_160
Definition rpmpgp.h:272
@ PGPHASHALGO_MD2
Definition rpmpgp.h:270
@ PGPHASHALGO_RIPEMD160
Definition rpmpgp.h:269
@ PGPHASHALGO_TIGER192
Definition rpmpgp.h:271
@ PGPHASHALGO_SHA512
Definition rpmpgp.h:275
@ PGPHASHALGO_MD5
Definition rpmpgp.h:267
@ PGPHASHALGO_SHA224
Definition rpmpgp.h:276
@ PGPHASHALGO_SHA1
Definition rpmpgp.h:268
@ PGPSIGTYPE_CASUAL_CERT
Definition rpmpgp.h:133
@ PGPSIGTYPE_STANDALONE
Definition rpmpgp.h:128
@ PGPSIGTYPE_GENERIC_CERT
Definition rpmpgp.h:129
@ PGPSIGTYPE_SUBKEY_BINDING
Definition rpmpgp.h:137
@ PGPSIGTYPE_KEY_REVOKE
Definition rpmpgp.h:139
@ PGPSIGTYPE_PERSONA_CERT
Definition rpmpgp.h:131
@ PGPSIGTYPE_SIGNED_KEY
Definition rpmpgp.h:138
@ PGPSIGTYPE_SUBKEY_REVOKE
Definition rpmpgp.h:140
@ PGPSIGTYPE_TEXT
Definition rpmpgp.h:127
@ PGPSIGTYPE_CERT_REVOKE
Definition rpmpgp.h:141
@ PGPSIGTYPE_BINARY
Definition rpmpgp.h:126
@ PGPSIGTYPE_TIMESTAMP
Definition rpmpgp.h:142
@ PGPSIGTYPE_POSITIVE_CERT
Definition rpmpgp.h:135
@ PGPARMORKEY_COMMENT
Definition rpmpgp.h:942
@ PGPARMORKEY_MESSAGEID
Definition rpmpgp.h:943
@ PGPARMORKEY_HASH
Definition rpmpgp.h:944
@ PGPARMORKEY_CHARSET
Definition rpmpgp.h:945
@ PGPARMORKEY_VERSION
Definition rpmpgp.h:941
@ PGPTAG_COMPRESSED_DATA
Definition rpmpgp.h:61
@ PGPTAG_PRIVATE_60
Definition rpmpgp.h:72
@ PGPTAG_MARKER
Definition rpmpgp.h:63
@ PGPTAG_SYMMETRIC_DATA
Definition rpmpgp.h:62
@ PGPTAG_USER_ID
Definition rpmpgp.h:66
@ PGPTAG_ENCRYPTED_MDC
Definition rpmpgp.h:70
@ PGPTAG_SECRET_SUBKEY
Definition rpmpgp.h:60
@ PGPTAG_PRIVATE_62
Definition rpmpgp.h:74
@ PGPTAG_ONEPASS_SIGNATURE
Definition rpmpgp.h:57
@ PGPTAG_TRUST
Definition rpmpgp.h:65
@ PGPTAG_PUBLIC_KEY
Definition rpmpgp.h:59
@ PGPTAG_RESERVED
Definition rpmpgp.h:53
@ PGPTAG_COMMENT_OLD
Definition rpmpgp.h:68
@ PGPTAG_PHOTOID
Definition rpmpgp.h:69
@ PGPTAG_LITERAL_DATA
Definition rpmpgp.h:64
@ PGPTAG_SIGNATURE
Definition rpmpgp.h:55
@ PGPTAG_PUBLIC_SESSION_KEY
Definition rpmpgp.h:54
@ PGPTAG_SYMMETRIC_SESSION_KEY
Definition rpmpgp.h:56
@ PGPTAG_COMMENT
Definition rpmpgp.h:73
@ PGPTAG_SECRET_KEY
Definition rpmpgp.h:58
@ PGPTAG_PUBLIC_SUBKEY
Definition rpmpgp.h:67
@ PGPTAG_MDC
Definition rpmpgp.h:71
@ PGPTAG_CONTROL
Definition rpmpgp.h:75
@ PGPSYMKEYALGO_DES_SK
Definition rpmpgp.h:213
@ PGPSYMKEYALGO_BLOWFISH
Definition rpmpgp.h:211
@ PGPSYMKEYALGO_PLAINTEXT
Definition rpmpgp.h:207
@ PGPSYMKEYALGO_AES_192
Definition rpmpgp.h:215
@ PGPSYMKEYALGO_NOENCRYPT
Definition rpmpgp.h:218
@ PGPSYMKEYALGO_AES_256
Definition rpmpgp.h:216
@ PGPSYMKEYALGO_TWOFISH
Definition rpmpgp.h:217
@ PGPSYMKEYALGO_TRIPLE_DES
Definition rpmpgp.h:209
@ PGPSYMKEYALGO_CAST5
Definition rpmpgp.h:210
@ PGPSYMKEYALGO_SAFER
Definition rpmpgp.h:212
@ PGPSYMKEYALGO_IDEA
Definition rpmpgp.h:208
@ PGPSYMKEYALGO_AES_128
Definition rpmpgp.h:214
@ PGPSUBTYPE_EMBEDDED_SIG
Definition rpmpgp.h:446
@ PGPSUBTYPE_EXPORTABLE_CERT
Definition rpmpgp.h:426
@ PGPSUBTYPE_ARR
Definition rpmpgp.h:431
@ PGPSUBTYPE_NOTATION
Definition rpmpgp.h:435
@ PGPSUBTYPE_ISSUER_KEYID
Definition rpmpgp.h:434
@ PGPSUBTYPE_REVOCABLE
Definition rpmpgp.h:429
@ PGPSUBTYPE_POLICY_URL
Definition rpmpgp.h:441
@ PGPSUBTYPE_FEATURES
Definition rpmpgp.h:445
@ PGPSUBTYPE_TRUST_SIG
Definition rpmpgp.h:427
@ PGPSUBTYPE_PREFER_SYMKEY
Definition rpmpgp.h:432
@ PGPSUBTYPE_SIG_EXPIRE_TIME
Definition rpmpgp.h:425
@ PGPSUBTYPE_INTERNAL_104
Definition rpmpgp.h:452
@ PGPSUBTYPE_SIGNER_USERID
Definition rpmpgp.h:443
@ PGPSUBTYPE_PREFER_COMPRESS
Definition rpmpgp.h:437
@ PGPSUBTYPE_KEY_EXPIRE_TIME
Definition rpmpgp.h:430
@ PGPSUBTYPE_REVOKE_KEY
Definition rpmpgp.h:433
@ PGPSUBTYPE_INTERNAL_101
Definition rpmpgp.h:449
@ PGPSUBTYPE_PREFER_HASH
Definition rpmpgp.h:436
@ PGPSUBTYPE_NONE
Definition rpmpgp.h:423
@ PGPSUBTYPE_SIG_CREATE_TIME
Definition rpmpgp.h:424
@ PGPSUBTYPE_REVOKE_REASON
Definition rpmpgp.h:444
@ PGPSUBTYPE_KEYSERVER_PREFERS
Definition rpmpgp.h:438
@ PGPSUBTYPE_CRITICAL
Definition rpmpgp.h:460
@ PGPSUBTYPE_INTERNAL_110
Definition rpmpgp.h:458
@ PGPSUBTYPE_INTERNAL_109
Definition rpmpgp.h:457
@ PGPSUBTYPE_INTERNAL_108
Definition rpmpgp.h:456
@ PGPSUBTYPE_INTERNAL_105
Definition rpmpgp.h:453
@ PGPSUBTYPE_INTERNAL_100
Definition rpmpgp.h:448
@ PGPSUBTYPE_PREFER_KEYSERVER
Definition rpmpgp.h:439
@ PGPSUBTYPE_INTERNAL_107
Definition rpmpgp.h:455
@ PGPSUBTYPE_REGEX
Definition rpmpgp.h:428
@ PGPSUBTYPE_PRIMARY_USERID
Definition rpmpgp.h:440
@ PGPSUBTYPE_INTERNAL_102
Definition rpmpgp.h:450
@ PGPSUBTYPE_INTERNAL_103
Definition rpmpgp.h:451
@ PGPSUBTYPE_INTERNAL_106
Definition rpmpgp.h:454
@ PGPSUBTYPE_KEY_FLAGS
Definition rpmpgp.h:442
enum rpmRC_e rpmRC
Package read return codes.
pgpValType_e
Definition rpmpgp.h:948
@ PGPVAL_SUBTYPE
Definition rpmpgp.h:953
@ PGPVAL_ARMORKEY
Definition rpmpgp.h:951
@ PGPVAL_COMPRESSALGO
Definition rpmpgp.h:956
@ PGPVAL_SERVERPREFS
Definition rpmpgp.h:958
@ PGPVAL_TAG
Definition rpmpgp.h:949
@ PGPVAL_HASHALGO
Definition rpmpgp.h:957
@ PGPVAL_SIGTYPE
Definition rpmpgp.h:952
@ PGPVAL_PUBKEYALGO
Definition rpmpgp.h:954
@ PGPVAL_ARMORBLOCK
Definition rpmpgp.h:950
@ PGPVAL_SYMKEYALGO
Definition rpmpgp.h:955
uint8_t pgpTime_t[4]
Definition rpmpgp.h:43
enum pgpValType_e pgpValType
struct pgpPktSymkey_s pgpPktSymkey
5.3.
uint8_t pgpKeyID_t[8]
Definition rpmpgp.h:42
String manipulation helper functions.
Typedefs for RPM abstract data types.
uint8_t compressalgo
Definition rpmpgp.h:775
uint8_t data[1]
Definition rpmpgp.h:776
uint8_t data[1]
Definition rpmpgp.h:814
5.5.1.
Definition rpmpgp.h:632
uint8_t version
Definition rpmpgp.h:633
uint8_t pubkey_algo
Definition rpmpgp.h:636
pgpTime_t time
Definition rpmpgp.h:634
uint8_t valid[2]
Definition rpmpgp.h:635
The version 4 format is similar to the version 3 format except for the absence of a validity period.
Definition rpmpgp.h:675
uint8_t pubkey_algo
Definition rpmpgp.h:678
pgpTime_t time
Definition rpmpgp.h:677
uint8_t version
Definition rpmpgp.h:676
uint8_t filenamelen
Definition rpmpgp.h:866
uint8_t filename[1]
Definition rpmpgp.h:867
uint8_t format
Definition rpmpgp.h:865
uint8_t sigtype
Definition rpmpgp.h:553
uint8_t pubkey_algo
Definition rpmpgp.h:555
pgpKeyID_t signid
Definition rpmpgp.h:556
uint8_t version
Definition rpmpgp.h:552
uint8_t hash_algo
Definition rpmpgp.h:554
uint8_t nested
Definition rpmpgp.h:557
uint8_t algo
Definition rpmpgp.h:115
uint8_t version
Definition rpmpgp.h:113
pgpKeyID_t keyid
Definition rpmpgp.h:114
5.2.2.
Definition rpmpgp.h:316
uint8_t version
Definition rpmpgp.h:317
pgpTime_t time
Definition rpmpgp.h:320
pgpKeyID_t signid
Definition rpmpgp.h:321
uint8_t signhash16[2]
Definition rpmpgp.h:324
uint8_t sigtype
Definition rpmpgp.h:319
uint8_t hashlen
Definition rpmpgp.h:318
uint8_t pubkey_algo
Definition rpmpgp.h:322
uint8_t hash_algo
Definition rpmpgp.h:323
5.2.3.
Definition rpmpgp.h:348
uint8_t hash_algo
Definition rpmpgp.h:352
uint8_t version
Definition rpmpgp.h:349
uint8_t hashlen[2]
Definition rpmpgp.h:353
uint8_t sigtype
Definition rpmpgp.h:350
uint8_t pubkey_algo
Definition rpmpgp.h:351
uint8_t version
Definition rpmpgp.h:517
uint8_t s2k[1]
Definition rpmpgp.h:519
uint8_t symkey_algo
Definition rpmpgp.h:518
uint8_t flag
Definition rpmpgp.h:884
5.11.
Definition rpmpgp.h:897
uint8_t userid[1]
Definition rpmpgp.h:898
5.5.3.
Definition rpmpgp.h:745
struct pgpPktKeyV3_s v3
Definition rpmpgp.h:746
struct pgpPktKeyV4_s v4
Definition rpmpgp.h:747
pgpPktSymkey symkey
Definition rpmpgp.h:906
pgpPktTrust tdata
Definition rpmpgp.h:913
pgpPktPubkey pubkey
Definition rpmpgp.h:904
pgpPktUid uid
Definition rpmpgp.h:914
pgpPktCdata cdata
Definition rpmpgp.h:909
pgpPktSig sig
Definition rpmpgp.h:905
pgpPktOnepass onepass
Definition rpmpgp.h:907
pgpPktEdata edata
Definition rpmpgp.h:910
pgpPktLdata ldata
Definition rpmpgp.h:912
pgpPktKey key
Definition rpmpgp.h:908
struct pgpPktSigV4_s v4
Definition rpmpgp.h:485
struct pgpPktSigV3_s v3
Definition rpmpgp.h:484