moved PGP types to pgp/pgp.h
This commit is contained in:
committed by
Martin Willi
parent
8b799d55ce
commit
ca062e48ee
@@ -16,6 +16,47 @@
|
|||||||
|
|
||||||
#include "pgp.h"
|
#include "pgp.h"
|
||||||
|
|
||||||
|
ENUM_BEGIN(pgp_packet_tag_names, PGP_PKT_RESERVED, PGP_PKT_PUBLIC_SUBKEY,
|
||||||
|
"Reserved",
|
||||||
|
"Public-Key Encrypted Session Key Packet",
|
||||||
|
"Signature Packet",
|
||||||
|
"Symmetric-Key Encrypted Session Key Packet",
|
||||||
|
"One-Pass Signature Packet",
|
||||||
|
"Secret Key Packet",
|
||||||
|
"Public Key Packet",
|
||||||
|
"Secret Subkey Packet",
|
||||||
|
"Compressed Data Packet",
|
||||||
|
"Symmetrically Encrypted Data Packet",
|
||||||
|
"Marker Packet",
|
||||||
|
"Literal Data Packet",
|
||||||
|
"Trust Packet",
|
||||||
|
"User ID Packet",
|
||||||
|
"Public Subkey Packet"
|
||||||
|
);
|
||||||
|
ENUM_NEXT(pgp_packet_tag_names, PGP_PKT_USER_ATTRIBUTE, PGP_PKT_MOD_DETECT_CODE, PGP_PKT_PUBLIC_SUBKEY,
|
||||||
|
"User Attribute Packet",
|
||||||
|
"Sym. Encrypted and Integrity Protected Data Packet",
|
||||||
|
"Modification Detection Code Packet"
|
||||||
|
);
|
||||||
|
ENUM_END(pgp_packet_tag_names, PGP_PKT_MOD_DETECT_CODE);
|
||||||
|
|
||||||
|
|
||||||
|
ENUM_BEGIN(pgp_pubkey_alg_names, PGP_PUBKEY_ALG_RSA, PGP_PUBKEY_ALG_RSA_SIGN_ONLY,
|
||||||
|
"RSA",
|
||||||
|
"RSA_ENC_ONLY",
|
||||||
|
"RSA_SIGN_ONLY"
|
||||||
|
);
|
||||||
|
ENUM_NEXT(pgp_pubkey_alg_names, PGP_PUBKEY_ALG_ELGAMAL_ENC_ONLY, PGP_PUBKEY_ALG_DIFFIE_HELLMAN, PGP_PUBKEY_ALG_RSA_SIGN_ONLY,
|
||||||
|
"ELGAMAL_ENC_ONLY",
|
||||||
|
"DSA",
|
||||||
|
"ECC",
|
||||||
|
"ECDSA",
|
||||||
|
"ELGAMAL",
|
||||||
|
"DIFFIE_HELLMAN"
|
||||||
|
);
|
||||||
|
ENUM_END(pgp_pubkey_alg_names, PGP_PUBKEY_ALG_DIFFIE_HELLMAN);
|
||||||
|
|
||||||
|
|
||||||
ENUM(pgp_sym_alg_names, PGP_SYM_ALG_PLAIN, PGP_SYM_ALG_TWOFISH,
|
ENUM(pgp_sym_alg_names, PGP_SYM_ALG_PLAIN, PGP_SYM_ALG_TWOFISH,
|
||||||
"PLAINTEXT",
|
"PLAINTEXT",
|
||||||
"IDEA",
|
"IDEA",
|
||||||
|
|||||||
@@ -22,13 +22,63 @@
|
|||||||
#ifndef PGP_H_
|
#ifndef PGP_H_
|
||||||
#define PGP_H_
|
#define PGP_H_
|
||||||
|
|
||||||
|
typedef enum pgp_packet_tag_t pgp_packet_tag_t;
|
||||||
typedef enum pgp_sym_alg_t pgp_sym_alg_t;
|
typedef enum pgp_sym_alg_t pgp_sym_alg_t;
|
||||||
|
|
||||||
#include <chunk.h>
|
#include <chunk.h>
|
||||||
#include <enum.h>
|
#include <enum.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OpenPGP symmetric key algorithms defined in section 9.2 of RFC 4880
|
* OpenPGP packet tags as defined in section 4.3 of RFC 4880
|
||||||
|
*/
|
||||||
|
enum pgp_packet_tag_t {
|
||||||
|
PGP_PKT_RESERVED = 0,
|
||||||
|
PGP_PKT_PUBKEY_ENC_SESSION_KEY = 1,
|
||||||
|
PGP_PKT_SIGNATURE = 2,
|
||||||
|
PGP_PKT_SYMKEY_ENC_SESSION_KEY = 3,
|
||||||
|
PGP_PKT_ONE_PASS_SIGNATURE_PKT = 4,
|
||||||
|
PGP_PKT_SECRET_KEY = 5,
|
||||||
|
PGP_PKT_PUBLIC_KEY = 6,
|
||||||
|
PGP_PKT_SECRET_SUBKEY = 7,
|
||||||
|
PGP_PKT_COMPRESSED_DATA = 8,
|
||||||
|
PGP_PKT_SYMKEY_ENC_DATA = 9,
|
||||||
|
PGP_PKT_MARKER = 10,
|
||||||
|
PGP_PKT_LITERAL_DATA = 11,
|
||||||
|
PGP_PKT_TRUST = 12,
|
||||||
|
PGP_PKT_USER_ID = 13,
|
||||||
|
PGP_PKT_PUBLIC_SUBKEY = 14,
|
||||||
|
PGP_PKT_USER_ATTRIBUTE = 17,
|
||||||
|
PGP_PKT_SYM_ENC_INT_PROT_DATA = 18,
|
||||||
|
PGP_PKT_MOD_DETECT_CODE = 19
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enum names for pgp_packet_tag_t
|
||||||
|
*/
|
||||||
|
extern enum_name_t *pgp_packet_tag_names;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OpenPGP public key algorithms as defined in section 9.1 of RFC 4880
|
||||||
|
*/
|
||||||
|
enum pgp_pubkey_alg_t {
|
||||||
|
PGP_PUBKEY_ALG_RSA = 1,
|
||||||
|
PGP_PUBKEY_ALG_RSA_ENC_ONLY = 2,
|
||||||
|
PGP_PUBKEY_ALG_RSA_SIGN_ONLY = 3,
|
||||||
|
PGP_PUBKEY_ALG_ELGAMAL_ENC_ONLY = 16,
|
||||||
|
PGP_PUBKEY_ALG_DSA = 17,
|
||||||
|
PGP_PUBKEY_ALG_ECC = 18,
|
||||||
|
PGP_PUBKEY_ALG_ECDSA = 19,
|
||||||
|
PGP_PUBKEY_ALG_ELGAMAL = 20,
|
||||||
|
PGP_PUBKEY_ALG_DIFFIE_HELLMAN = 21,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enum names for pgp_pubkey_alg_t
|
||||||
|
*/
|
||||||
|
extern enum_name_t *pgp_pubkey_alg_names;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OpenPGP symmetric key algorithms as defined in section 9.2 of RFC 4880
|
||||||
*/
|
*/
|
||||||
enum pgp_sym_alg_t {
|
enum pgp_sym_alg_t {
|
||||||
PGP_SYM_ALG_PLAIN = 0,
|
PGP_SYM_ALG_PLAIN = 0,
|
||||||
|
|||||||
+3
-54
@@ -39,56 +39,6 @@
|
|||||||
*/
|
*/
|
||||||
static pgpcert_t *pgpcerts = NULL;
|
static pgpcert_t *pgpcerts = NULL;
|
||||||
|
|
||||||
/*
|
|
||||||
* OpenPGP packet tags defined in section 4.3 of RFC 2440
|
|
||||||
*/
|
|
||||||
#define PGP_PKT_RESERVED 0
|
|
||||||
#define PGP_PKT_PUBKEY_ENC_SESSION_KEY 1
|
|
||||||
#define PGP_PKT_SIGNATURE 2
|
|
||||||
#define PGP_PKT_SYMKEY_ENC_SESSION_KEY 3
|
|
||||||
#define PGP_PKT_ONE_PASS_SIGNATURE_PKT 4
|
|
||||||
#define PGP_PKT_SECRET_KEY 5
|
|
||||||
#define PGP_PKT_PUBLIC_KEY 6
|
|
||||||
#define PGP_PKT_SECRET_SUBKEY 7
|
|
||||||
#define PGP_PKT_COMPRESSED_DATA 8
|
|
||||||
#define PGP_PKT_SYMKEY_ENC_DATA 9
|
|
||||||
#define PGP_PKT_MARKER 10
|
|
||||||
#define PGP_PKT_LITERAL_DATA 11
|
|
||||||
#define PGP_PKT_TRUST 12
|
|
||||||
#define PGP_PKT_USER_ID 13
|
|
||||||
#define PGP_PKT_PUBLIC_SUBKEY 14
|
|
||||||
#define PGP_PKT_ROOF 15
|
|
||||||
|
|
||||||
static const char *const pgp_packet_type_name[] = {
|
|
||||||
"Reserved",
|
|
||||||
"Public-Key Encrypted Session Key Packet",
|
|
||||||
"Signature Packet",
|
|
||||||
"Symmetric-Key Encrypted Session Key Packet",
|
|
||||||
"One-Pass Signature Packet",
|
|
||||||
"Secret Key Packet",
|
|
||||||
"Public Key Packet",
|
|
||||||
"Secret Subkey Packet",
|
|
||||||
"Compressed Data Packet",
|
|
||||||
"Symmetrically Encrypted Data Packet",
|
|
||||||
"Marker Packet",
|
|
||||||
"Literal Data Packet",
|
|
||||||
"Trust Packet",
|
|
||||||
"User ID Packet",
|
|
||||||
"Public Subkey Packet"
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* OpenPGP public key algorithms defined in section 9.1 of RFC 2440
|
|
||||||
*/
|
|
||||||
#define PGP_PUBKEY_ALG_RSA 1
|
|
||||||
#define PGP_PUBKEY_ALG_RSA_ENC_ONLY 2
|
|
||||||
#define PGP_PUBKEY_ALG_RSA_SIGN_ONLY 3
|
|
||||||
#define PGP_PUBKEY_ALG_ELGAMAL_ENC_ONLY 16
|
|
||||||
#define PGP_PUBKEY_ALG_DSA 17
|
|
||||||
#define PGP_PUBKEY_ALG_ECC 18
|
|
||||||
#define PGP_PUBKEY_ALG_ECDSA 19
|
|
||||||
#define PGP_PUBKEY_ALG_ELGAMAL 20
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Size of PGP Key ID
|
* Size of PGP Key ID
|
||||||
*/
|
*/
|
||||||
@@ -313,10 +263,9 @@ bool parse_pgp(chunk_t blob, pgpcert_t *cert, private_key_t **key)
|
|||||||
blob.ptr += packet.len;
|
blob.ptr += packet.len;
|
||||||
blob.len -= packet.len;
|
blob.len -= packet.len;
|
||||||
DBG(DBG_PARSING,
|
DBG(DBG_PARSING,
|
||||||
DBG_log(" %s (%d), old format, %d bytes",
|
DBG_log(" %N (%d), old format, %u bytes",
|
||||||
(packet_type < PGP_PKT_ROOF) ?
|
pgp_packet_tag_names, packet_type,
|
||||||
pgp_packet_type_name[packet_type] :
|
packet_type, packet.len);
|
||||||
"Undefined Packet Type", packet_type, (int)packet.len);
|
|
||||||
DBG_log("L2 - body:")
|
DBG_log("L2 - body:")
|
||||||
)
|
)
|
||||||
DBG_cond_dump_chunk(DBG_RAW, "", packet);
|
DBG_cond_dump_chunk(DBG_RAW, "", packet);
|
||||||
|
|||||||
Reference in New Issue
Block a user