CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
GpgCertPayload.h File Reference

(De)serialisation of a badge-to-badge certification return message. More...

#include "mod_gpg/GpgRecvStore.h"
#include "mod_gpg/GpgSelfCertStore.h"
#include <cstddef>
#include <cstdint>

Go to the source code of this file.

Namespaces

namespace  cdc
namespace  cdc::mod_gpg

Functions

size_t cdc::mod_gpg::gpgBuildCertPayload (const gpg_recv_key_t &signed_key, uint8_t *out, size_t out_size)
 Serialise a certification return message for a cross-signed key.
bool cdc::mod_gpg::gpgParseCertPayload (const uint8_t *data, size_t len, gpg_self_cert_t *out, uint8_t out_target_fp[20])
 Parse a certification return message into a self-cert record.

Variables

constexpr size_t cdc::mod_gpg::kGpgCertPayloadMin = 20 + 20 + 1 + 2 + 1
 Minimum payload size (empty issuer uid, 1-byte signature packet).
constexpr size_t cdc::mod_gpg::kGpgCertPayloadMax = 20 + 20 + 1 + 63 + 2 + kGpgSelfCertSigMax
 Maximum payload size (maximum issuer uid + maximum signature packet).

Detailed Description

(De)serialisation of a badge-to-badge certification return message.

Wire payload layout (carried as MIME application/pgp-signature): 20B target_fp_v4, 20B issuer_fp_v4, 1B issuer_uid_len, up to 63 issuer_uid bytes, 2B sig_pkt_len (big-endian), sig_pkt_len bytes (the verbatim OpenPGP Signature Packet body).

target_fp_v4 identifies the key being certified (the original owner the message is sent back to); the receiver must reject the payload unless it matches its own SIG key. issuer_* describe the signer for display.

Definition in file GpgCertPayload.h.