Support GnuPG AEAD password entries

This commit is contained in:
Hermes Agent
2026-08-10 08:57:57 +00:00
parent d66d9b0f08
commit 977eb236da
10 changed files with 319 additions and 13 deletions

View File

@@ -99,11 +99,28 @@ pub struct RepositoryRecord {
pub commits: Vec<String>,
}
#[derive(Debug, Deserialize)]
pub struct GnuPgAeadFixture {
pub format: u8,
pub producer: String,
pub command_profile: String,
pub packet_tag: u8,
pub cipher: String,
pub aead_mode: String,
pub recipient_primary_fingerprint: String,
pub recipient_encryption_subkey_fingerprint: String,
pub store: String,
pub entry: String,
pub plaintext: String,
pub ciphertext_sha256: String,
}
pub struct FixtureSet {
root: PathBuf,
pub upstream: UpstreamManifest,
pub behavior: BehaviorManifest,
pub generated: GeneratedManifest,
pub gnupg_aead: GnuPgAeadFixture,
pub layouts: toml::Value,
}
@@ -113,12 +130,14 @@ impl FixtureSet {
let upstream = parse_toml(root.join("upstream.toml"))?;
let behavior = parse_toml(root.join("behavior.toml"))?;
let generated = parse_toml(root.join("generated.toml"))?;
let gnupg_aead = parse_toml(root.join("gnupg-aead/fixture.toml"))?;
let layouts = parse_toml(root.join("layouts.toml"))?;
Ok(Self {
root,
upstream,
behavior,
generated,
gnupg_aead,
layouts,
})
}